MFMailComposeViewController tintColor not working on device - ios

I have an MFMailComposeViewController on an iPad version of my app that is acting up. I want the Cancel and Send buttons to be tinted [UIColor whiteColor], so I have set mailViewController.navigationBar.tintColor = [UIColor whiteColor]. This seemed to do the trick on the simulator, but when I run it on a device it shows up as dark gray text (which blends in with the bar's background and makes it impossible to read). Other things I have tried:
[mailViewController.navigationBar layoutSubviews] after it is presented.
[mailViewController.navigationBar setNeedsDisplay] after it is presented.
And also doing both of the above for each subview of the navigationBar. Any suggestions?
Thanks

there is no working solution. they mail VC isn't part of your app. that is the point of remote vcs. ergo they can't be customised.. or only in very limited way.
see iOS6: MFMailComposeViewController slow to load and flashes black screen; MailCompositionS begins hogging memory

Related

When app comes back to foreground it shows splash screen

When my comes back to the foreground, it shows splash screen for a while, like this.
This only happens on iPhone 6 and later.
If you have ever had this experience, sharing the solution would be appreciated!
That the splash-screen shows up for a moment before your app's UI comes up is normal. That is the whole purpose of the splash screen, to fill the small moment before your UI is ready.
What is not normal is the black screen with the red "background" text on it that comes up for a moment. That is not your desktop wallpaper, because that does not have the text on it. So that is likely something that you do in your app yourself.
I suggest that you concentrate your debugging efforts on where the black screen comes from:
set breakpoints in applicationWillEnterForeground: and
applicationDidBecomeActive: to see at what time the black screen
comes up
check your xib for any (hidden) black screen
enable slow-motion animations in XCode to better see what is happening
Thanks guys, I found the reason.
-----reason-----
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault];
-----change-----
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];

iOS 8 keyboard greyed out after app returns from background

In my app when home button is pressed and later the app is put back to the foreground, there is always grey box instead of the system keyboard. No matter what UITextField is pressed, this grey box always appear until the app is killed and started again.
Before entering background, [UITextFiled resignFirstResponder] is called for every UITextField.
I have also tried some other solutions like:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self.window endEditing:YES];
}
The issue is present even if no resigning is done, simply every entering to background will break the keyboard.
The grey area do not react on touches, all touch events are sent to views below, like there was no grey box at all.
On iOS7, there is no problem. Could it be some iOS system bug?
Thanks for help.
Example screenshot:
http://i.stack.imgur.com/DpVMr.png

Black background when view rotates on orientation change

I am fiddling with an orientation change responsive app in Xcode and am trying to figure out how I can change that my non-black view seems to rotate on a black background on orientation change!
It looks something like this:
I would like to change the black background to the colour of my view - which is pink in the depicted case.
When my app launches it also shows a black screen until the actual view appears. I have the feeling that it is the same black that becomes visible on orientation change?
I have tried to change the background colour of the window in the did-finish-launching method of my app delegate, but that did not have any effect:
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window.backgroundColor = [UIColor purpleColor];
...
}
Any suggestions?
Try using willAnimateRotationToInterfaceOrientation:duration: method instead of willRotateToInterfaceOrientation:duration:
But I think nearly all of the apps in iOS show a glimpse of black background, it seems normal. In your case if it is for long time, try reducing the duration time.
Also check this Stackoverflow Post

iOS Keyboard Colour Changes - keyboardAppearance dark color doesn't stick

In our app, we set the keyboardAppearance to dark. This produces a black keyboard, as expected. However, if the keyboard is showing, and we press the home button, and then go back into the app, the keyboard turns white, as shown. Any ideas why?
It may have todo with the fact that the keyboard is a global object. There's only ever one keyboard in memory at any given time. Also, the OS will automatically change the keyboard color based on the background. Therefore, your setting is probably just getting overridden. I would suggest hiding the keyboard when your app enters the background, and then re-show it when it re-enters the foreground. Then when you re-show the keyboard reset the keyboard appearance via code.

iOS 7 - Display user wallpaper as UIWindow background

How would it be possible to have an iOS app display the user's wallpaper? Apple uses this in places like the tab view in Safari and the keypad in Phone. Setting the transparency of UIWindow proved to no avail...
This is no longer available. Too bad, because it allowed a sweet native looking effect
there are a few things you need to do to show the user wallpaper
1 - set UIApplicationIsOpaque to false in the project plist
2 - In the app delegate load function
self.window.backgroundColor = [UIColor clearColor];
self.window.opaque = NO;
3 - set the UIViewController.view background color to [UIColor clearColor]
This works for us currently. If you try to do a screen capture or actually use the wallpaper it just returns solid black (so privacy concerns don't apply since you can't do anything with the wallpaper).
This functionality is not available to third-party developers due to privacy concerns.
If you could do this in a third-party app, you could capture the background image without asking the user.

Resources