Tôi đã tạo lớp con UINavigationBar của riêng mình để bật nền tùy chỉnh cao hơn 44px.UINavigationBar tùy chỉnh với chiều cao tùy chỉnh khiến cho UIBarButtonItem bị sai vị trí
tôi đã làm nó bằng cách ghi đè hai phương pháp:
-(void) drawRect:(CGRect)rect
{
[self.backgroundImage drawInRect:CGRectMake(0, 0, self.backgroundImage.size.width, self.backgroundImage.size.height)];
}
- (CGSize)sizeThatFits:(CGSize)size
{
CGRect frame = [UIScreen mainScreen].applicationFrame;
CGSize newSize = CGSizeMake(frame.size.width , self.backgroundImage.size.height);
return newSize;
}
Và đây là kết quả:
Bây giờ, vấn đề của tôi là bạn có thể thấy là tất cả của UIBarButtonItem (và titleView) được đặt ở cuối thanh điều hướng.
Tôi muốn chúng được ghim vào đầu thanh (với một số đệm của khóa học). Tôi cần ghi đè điều gì để đạt được điều đó?
Cảm ơn!
EDIT:
Đây là giải pháp mà tôi đã sử dụng:
-(void) layoutSubviews
{
[super layoutSubviews];
for (UIView *view in self.subviews)
{
CGRect frame = view.frame;
frame.origin.y = 5;
view.frame = frame;
}
}
Liệu các trick cho trạng thái nhàn rỗi, vẫn có một số hành vi kỳ lạ trên push và pop mục.
làm thế nào bạn giải quyết vấn đề này? bạn có thể đăng bài không! – luca
@luca - Giải pháp đã đăng –
Bạn có bao giờ có thể giải quyết vấn đề push/pop không? – lti