UILabel automatically changes color - iphone

i'm facing a really strange problem: i have some UILabel in my view, which has a black background, so i set their text color to white in Interface Builder in order to see them, the problem is, when i run the app on the simulator or on my iphone with ios7 or iOS 6.1.3 i can update them without problems (for update i mean: myLabel.text = #"Something")
but when i run the app on my sister's iphone 3gs with iOS 6.0 at the moment i update them the font color turns black. It seems that on her phone the label can't remember the color set on IB.
Does anyone of you know why this happens?
Thanks

It sounds like you have set the label "type" to "Attributed" in Interface Builder.
If this is the case then it is not the label that holds the text colour. It is the text itself.
If you replace the text with something else then the default text color of black will be used.
If you want to continue using Attributed text then you need to add a "foregroundColor" attribute to the text before setting it to the label.
The easier way round this is to change the label type to "Plain" in Interface Builder.
Of course, this depends on you having set it to Attributed.

I think you shouldn't use default label color in the interface builder, just provide something else (black color or etc.).

I ran into a similar problem. Was stumping me completely, until I quit and relaunched the simulator. It wasn't enough to just close the window or rebuild. I had to cmd-q, then build and launch again. Magically fixed the issue. Annoying.. but worked for me

Related

tvOS - Custom TextField

I am currently working on tvOS app and I am stuck at subclassing textfields. I normally subclass textfields on iOS without problem, somehow tvOS is different.
Here are the bugs that are happening:
textColor is white, after pressing and typing textColor is black
attributed placeholder is white, after typing text, text is black and after clearing text, placeholder appears black and centered horizontally
secure text entry enlarges font
and another random bugs appear and overall textfield is buggy
(It happens even if subclass is very basic - like changed text color after init or in setup method etc.)
Do you have any idea how to fix it or working solution of textfield subclass on tvOS? Thanks

Changing UIAlertController's tint color globally?

I am trying to change all my UIAlertController's tintColor to a custom color because there are lots of these in my app and I want to go shortcut. After a little research on the internet I found this snippet and it seemed working at first.
UIView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).tintColor = UIColor.red
Later, I realized a bug -or anything else, I don't know yet- that this snippet has effect on UIToolbarButton's tintColor. It has been set to a custom color on the storyboard and I tried to set programmatically in related viewDidLoad but it does not work. The color of the text is default blue. Moreover, I also tried to set UIView.apperance.tintColor directly it worked on that button but, for that situtation the items that should have meant to be white turned to that custom color. As you can understand I don't want that.
If someone helps, i will be appreciated because he will save me from all crtl+c and ctrl+v process:) Have a good day!

tvOS: Change UITextField text color [duplicate]

Editing UITextField in tvOS shows a new view where the user can enter in text, and when text entry is done, the user is returned to the previous view. However, I have found that when I return from the text editor, the text I edit does not show up in my text fields. What's going on?
tvOS version 9.1
The reason why it isn't working is because the UITextField is using a non-default background color. Apparently in tvOS, the background color is rendered to the layer after the text has been rendered (Interestingly enough, this does not affect placeholder text). This also happens in interface builder. A bug report has been sent to Apple.
I had a similar issue with shared iOS/tvOS code where the next textfield placeholder text disappeared and became unresponsive.
Make sure that you are NOT setting textField.endEditing(true)

how can I highlight only background of the text on touch on a UILabel

In my app, I have modified the UILabel and made it underline the text if the phone number or email appears.
but I want to highlight the text when the phone number or email is touched as shown below (I want something like what has been shown below by the dark gray highlight in background of the text "http://www.foodreporter.net".
I want to do this without use of CoreText as my app targets from iOS 3.1.2 onwards. So I don't want to use the CoreText and Attributed strings.
I want to subclass the UILabel and do it somehow. How can it be done?
I don't have the option to use OHAttributedLabel and TTTAttributedLabel.
I suggest for a workaround. What you can do is, use custom UIButton instead of label. Set the default and highlighted image of the button according to your need.(Simple text for default, and highlighted text for highlighted).
Happy Programming

Underline / Bold in UITextView

Is it possible to underline or embolden certain bits of text in a UITextView?
For example my Text View has headings in it, and would like those underlined...
Random Mode
In random mode, you can generate numbers...
Sweepstake Mode
In sweepstake mode...
If not, what is the best way to achieve this?
Thanks
Use should use NSAttributedString, and use controllers for drawing NSAttributesString.
Controller for NSAttributedString
Note: you can't use UITextView to display a NSAttributedString
Update
From iOS6, UILabel now support NSAttributedString, you should use UILabel directly instead of OHAttributedLabel as it is now natively supported by the OS.
I believe NSAttributedString is what you're after, it's available in iOS 3.2 or later: look at this question
I know this is an old thread, but this is something I just discovered myself. At least in Xcode version 4.6.3 this is possible by using an attributed textView. What's even better is that it's possible to all be done in Interface Builder!
Here are the steps:
Place your textView at the desired location
Select the textView and open up the Attributes tab under the Utilities panel
Change the textView text to "attributed"
Enter your desired text
Now, highlight whatever text you want bolded, underlined, etc.
Click on the "T" button next to the fontName
In the popup, select your desired typeface (ex: Bold)
You should see the desired typeface displayed in the Utilities panel
Enjoy!