SanXiuS
SanXiuS

Reputation: 53

UiTextView change font size not working

i just want to modify the size of character of the UITextView. until now is possible to attach the string, but i Try to change the dimension: is not possible. As i searched into the Forum i found that some people got it selecting Editable and deselecting it. Other people got it by selecting Selectable from the View properties. Then i tried this way... no way to change. Only Plain text.

import UIKit
@objc(TextControllerSwift) class TextControllerSwift: UIViewController {

var selectedMovie: String?
var textPlaying: String?

@IBOutlet weak var textMuseum: UITextView!
override func viewDidLoad() {
    super.viewDidLoad()
    realPlay()
}

func playText(textSelect: String) {
textPlaying = textSelect 
}

//Giving the time to Segue method to wakeup.
func realPlay(){
var textRoom: String?

//reading the file .txt
let path = NSBundle.mainBundle().pathForResource(textPlaying, ofType:"txt")
if (path != nil){
        do {
      textRoom= try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)  
//here i'm getting the string.
}
catch {/* ignore it */}
//i tried it these options...
textMuseum.editable=true
textMuseum.selectable=true  
textMuseum!.text=""

//Got the text, now i put into UiView
textMuseum.font = UIFont(name: "Arial-Unicode", size: 50)
textMuseum.text=textMuseum.text.stringByAppendingString(String(textRoom!))
}}}

hmmm where am i getting wrong? because i changed the textMuseum font. Should i free some Costraint on the UITextView Object put in the StoryBoard? also with the editable and selectable removed the result is the same. why?

thank you for every help.

EDIT: Added Git Repository - No Working Video as i deleted this part. To see the problem just click on uisegmented "testo" and select play or the table.

https://github.com/sanxius/TryText.git

Upvotes: 4

Views: 2918

Answers (1)

mixel
mixel

Reputation: 25876

After reviewing your source code:

  1. Make UITextView selectable: textMuseum.selectable = true
  2. If you want to use custom font then do not forget it's file name to add it to Info.plist Fonts provided by application array.
  3. Use existing font name. There is no font with name Arial-Unicode. Arial-Unicode.ttf is file name not font name.

You can find your font name by listing all loaded fonts with:

for familyName in UIFont.familyNames() {
    for fontName in UIFont.fontNamesForFamilyName(familyName) {
        print(fontName)
    }
}

Also iOS has built-in Arial font that can be loaded by UIFont(name: "ArialMT", size: 50). So you do not need to add your Arial-Unicode.ttf.

Upvotes: 2

Related Questions