我试图在我的iOS7应用程序中更改UINavigationBar的外观.我正在做以下事情:
- (void)viewDidLoad
{
[super viewDidLoad];
m_sNumberToCall = @"";
UIBarButtonItem * btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"IconHome.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(btHomeTouched:)];
self.navigationItem.leftBarButtonItem = btn;
self.navigationController.navigationBar.translucent = YES;
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"TVCNavBack.png"] forBarMetrics:UIBarMetricsDefault];
NSShadow * shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
shadow.shadowOffset = CGSizeMake(0, 1);
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0],
NSForegroundColorAttributeName,
shadow,
NSShadowAttributeName,
[UIFont fontWithName:@"Helvetica-Bold" size:21.0],
NSFontAttributeName,
nil]];
}
Run Code Online (Sandbox Code Playgroud)
但是,我第一次呈现UITableViewController它是标准的iOS7导航栏,然后我按回家再次呈现它,这是我的新面貌.
任何想法为什么它第一次不起作用?
我使用以下堆栈获得Crashlytics的崩溃日志:
Fatal Exception: java.lang.IllegalStateException: focus search returned a view that wasn't able to take focus!
at android.widget.TextView.onKeyUp(TextView.java:6413)
at android.view.KeyEvent.dispatch(KeyEvent.java:2712)
at android.view.View.dispatchKeyEvent(View.java:9960)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1630)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1630)
at android.widget.ScrollView.dispatchKeyEvent(ScrollView.java:387)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1630)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1630)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1630)
at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:406)
at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1798)
at android.app.Activity.dispatchKeyEvent(Activity.java:3024)
at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:320)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4331)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4302)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3999)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4056)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6247)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6221)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6182)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3651)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at …Run Code Online (Sandbox Code Playgroud)