Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Пляски вокруг UILabel (как нормально настроить перенос текста?) - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Отображение карт гугл в отдельной view http://www.cyberforum.ru/ios-dev/thread1288367.html
Добрый день. Собственно проблема заключается в том, что неверно определяются (либо я неверно макет сделал) размеры области, в которой отрисовывается карта. На скриншоте оранжевым окрашен...
Программирование iOS Использование встроенных словарей Как можно брать информацию из словарей, установленных на iphone? http://www.cyberforum.ru/ios-dev/thread1287607.html
Программирование iOS Как сделать чтоб UIView двигался вверх, когда клавиатура присутствует
пробувал, не получаеться(
Программирование iOS Действие при закрытии приложения
Как написать функцию, выполняющуюся при закрытии приложения? не при нажатии кнопки home, а именно при полном закрытии
Программирование iOS Трансляция видео с камеры на пк http://www.cyberforum.ru/ios-dev/thread1284868.html
Здравствуйте! Стоит задача: трансляция видео с камеры айфона на пк по wifi и дальнейшая обработка. Ну т.е. чтобы айфон использовался как вебка. Подскажите пожалуйста в какую сторону копать(в...
Программирование iOS Прижать UIView к низу Подскажите как в коде прижать UIView к низу родительской вьюшки? подробнее

Показать сообщение отдельно
rovnyart
1 / 1 / 1
Регистрация: 20.08.2014
Сообщений: 19
30.11.2014, 12:13  [ТС]
таак, уже почти добился, чего хотел, но почему-то не работает в портретной ориентации (в ландшафтной все ок). может, подскажете, чего я не замечаю?

Label на вьюхе один (pickupLabel), привязки - equal widths и equal heigths с view.

переделанная функция под Swift:
Кликните здесь для просмотра всего текста
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
    func getSizeForText(text: NSString, maxWidth: CGFloat, fontName: String, fontSize:CGFloat) -> CGSize {
        var constraintSize: CGSize = CGSizeZero
        
        constraintSize.height = CGFloat.max
        constraintSize.width = maxWidth
        let attributesDictionary: NSDictionary = NSDictionary(objectsAndKeys: UIFont(name: fontName, size: fontSize)!, NSFontAttributeName)
        
        let frame: CGRect = text.boundingRectWithSize(constraintSize, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: attributesDictionary, context: nil)
        
        let stringSize:CGSize = frame.size
        return stringSize
        
    }


viewDidLoad:
textFromInput - это строка со словами
Кликните здесь для просмотра всего текста
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
override func viewDidLoad() {
        super.viewDidLoad()
 
    
 
let words = textFromInput.componentsSeparatedByString(" ")
 
let longest = words.reduce(String?()) {
    (longest, word) in
    longest == nil || countElements(word) > countElements(longest!) ? word : longest
   
}
 
    var maxs: CGSize = CGSizeZero
    var fontSize: CGFloat = 10
    do {
    fontSize++
    maxs = self.getSizeForText(longest!, maxWidth: CGFloat.max, fontName: "Helvetica", fontSize: fontSize)
    } while maxs.width < pickupLabel.frame.size.width
    
    
    pickupLabel.text = textFromInput
    pickupLabel.font = UIFont(name: "Helvetica", size: fontSize)
    pickupLabel.numberOfLines = 0
    
    println("Самое длинное слово: \(longest!)")
    println("Искомый максимальный размер шрифта: \(Int(fontSize))")
    println("Ширина рамки Label: \(pickupLabel.frame.size.width)")
    println("Ширина рамки View: \(self.view.frame.size.width)")
}

И что получается:

в портретной:
Кликните здесь для просмотра всего текста
Пляски вокруг UILabel (как нормально настроить перенос текста?)


в ландшафтной:
Кликните здесь для просмотра всего текста
Пляски вокруг UILabel (как нормально настроить перенос текста?)


пробовал сравнивать maxs с self.view.frame.size.width - но почему-то тоже ничего не получается(
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru