Câu trả lời cho câu hỏi của tôi được gợi ý tại số this question, vì vậy tôi nghĩ câu trả lời là tắt tự động trả lời cho chế độ xem UIToolbar của tôi.Hình ảnh iOS 11 UIBarButtonItem không định kích thước
Các mã mà được cho là làm việc cho quan điểm là
cButton.translatesAutoresizingMaskIntoConstraints = YES;
Nhưng tôi không chắc chắn nếu nó áp dụng cho mã của tôi kể từ khi UIToolbar không kế thừa từ UIView.
Tôi có rất nhiều hình ảnh nhỏ mà tôi sử dụng trong các trò chơi có kích thước khác nhau tùy thuộc vào thiết bị và hướng. Thay vì có nhiều hình ảnh khác nhau và thêm hình ảnh mới khi Apple giới thiệu thiết bị mới, tôi quyết định tạo một hình ảnh 160x160 trước và sau đó thay đổi kích thước hình ảnh khi được sử dụng. Điều này làm việc tốt từ iOS 4 - iOS 10 nhưng thất bại trong iOS 11.
Mã này khá đơn giản:
// Get the image
NSString *pictFile = [[NSBundle mainBundle] pathForResource:@"Correct" ofType:@"png"];
UIImage *imageToDisplay = [UIImage imageWithContentsOfFile:pictFile];
UIImage *cImage = [UIImage imageWithCGImage:imageToDisplay.CGImage scale:[UIScreen mainScreen].scale orientation:imageToDisplay.imageOrientation];
UIButton *cButton = [UIButton buttonWithType:UIButtonTypeCustom];
[cButton setImage:cImage forState:UIControlStateNormal];
[cButton setTitle:@"c" forState:UIControlStateNormal];
//set the frame of the button to the size of the image
cButton.frame = CGRectMake(0, 0, standardButtonSize.width, standardButtonSize.height);
//create a UIBarButtonItem with the button as a custom view
c = [[UIBarButtonItem alloc] initWithCustomView:cButton];
Đây là những gì nó trông giống như pre11. Các mục nút thanh đã được thay đổi kích thước và vừa với nhau ở thanh dưới cùng. Lưu ý tôi đã giảm kích thước của dấu kiểm xuống 50% chỉ để đảm bảo rằng tôi đang xem mã đúng và nó hoạt động như tôi mong đợi.
Dưới đây là những gì họ trông giống như trong mô phỏng cho Xcode 9.0 GM và iOS 11. Lưu ý rằng hàng đầu của các nút thay đổi kích thước một cách chính xác nhưng hàng dưới cùng mở rộng để lấp đầy không gian phân bổ cho các thanh tab. Hành vi tương tự cũng xảy ra trên iPad cũng như các thiết bị khác nhau.
Bất kỳ ý tưởng nào về cách tắt Tự động điền hoặc thêm ràng buộc?
Cảm ơn gợi ý. Tôi đã thêm phiên bản Obj C. – JScarry
Tuyệt vời! nó làm việc cho tôi. thankx. – Bucket