我正在使用图像视图在导航栏中显示图像.问题是由于后退按钮我无法正确设置它.我检查了相关问题,并且在我解决之前遇到了几乎相同的问题,但这次我不知道.
之前我用假条形按钮解决了这个问题,所以我尝试在右侧(和左侧)添加假条形按钮,但它没有帮助.
- (void) searchButtonNavBar {
CGRect imageSizeDummy = CGRectMake(0, 0, 25,25);
UIButton *dummy = [[UIButton alloc] initWithFrame:imageSizeDummy];
UIBarButtonItem
*searchBarButtonDummy =[[UIBarButtonItem alloc] initWithCustomView:dummy];
self.navigationItem.rightBarButtonItem = searchBarButtonDummy;
}
- (void)setNavBarLogo {
[self setNeedsStatusBarAppearanceUpdate];
CGRect myImageS = CGRectMake(0, 0, 44, 44);
UIImageView *logo = [[UIImageView alloc] initWithFrame:myImageS];
[logo setImage:[UIImage imageNamed:@"color.png"]];
logo.contentMode = UIViewContentModeScaleAspectFit;
self.navigationItem.titleView = logo;
[[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0.0f, 0.0f) forBarMetrics:UIBarMetricsDefault];
}
Run Code Online (Sandbox Code Playgroud)
我认为它应该工作得很好,因为在这种情况下titleView,同一侧有条形按钮.是否有任何解释为什么它可以使用以编程方式创建但不能与常用后退按钮一起使用的条形按钮?
我有一些显示在导航控制器中的视图.其中两个视图的导航栏标题较长.
问题是,当标题太长而不适合时,某些字符会被截断并添加"...".
有什么办法我可以告诉导航栏自动重新调整标题文本的大小以适应吗?
iphone resize uinavigationbar uinavigationcontroller autoresize
UINavigationItem titleView属性的文档说:"如果leftBarButtonItem不是nil,则忽略此属性."
但是,我在测试中设置了两个titleView和leftBarButtonItem属性,它们看起来都很好.我已经在我的Xcode中测试了所有模拟器:4.3,5.0和5.1.有没有人知道文档是错误的,还是在一些我无法测试的旧版本(例如4.2,3.x)上是否正确?
iphone uinavigationbar uikit uinavigationcontroller uinavigationitem
我试图在导航栏中设置标题标签以允许多行.我有自定义导航控制器代码,我将多行代码放入.我知道代码已经存在,但我的多行部分无效.
let titleLabel = UILabel()
titleLabel.frame = CGRectMake(0, 0, self.navigationBar.frame.width, self.navigationBar.frame.height * 2)
titleLabel.numberOfLines = 0
titleLabel.lineBreakMode = .ByWordWrapping
navigationItem.titleView = titleLabel
Run Code Online (Sandbox Code Playgroud)
但是文本最后仍然没有结束.我也尝试将它放入单独的视图控制器本身,self.navigationController?.在前面添加navigationItem相同的结果.
我的代码中是否有一些东西会使标题标签不能使用多行?
ios ×3
iphone ×2
autoresize ×1
ios11 ×1
objective-c ×1
resize ×1
swift ×1
swift3 ×1
uikit ×1
xcode ×1