2016-11-07 16 views
8

Tôi đang sử dụng Xcode 8. Tôi đang cố gắng thêm UIButton với Image ở bên trái và Title phía bên phải. Tôi muốn duy trì khoảng cách giữa ImageTitle trong số UIButton trong Storyboard. Tôi không thể thấy tùy chọn Edge tại đây. Bất kỳ sự trợ giúp nào ở đây đều được đánh giá cao.Không có tùy chọn UIButton Edge trong Xcode 8

Trả lời

7

Xcode 8 Storyboard:

Đầu tiên đặt tiêu đề và hình ảnh vào nút, và đi đến Thanh tra kích thước và thiết lập insets tiêu đề và insets hình ảnh, nó sẽ sắp xếp các nội dung đến vị trí mong muốn. Trong trường hợp của bạn đặt tiêu đề inset trái và hình ảnh insets ngay.

enter image description here

Programatically:

button.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 
button.imageEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 

Output:

enter image description here

Xcode 7 Storyboard:

enter image description here enter image description here

Xcode tùy chọn 7 Edge đã được chuyển từ Attribute thanh tra để thanh tra phần Kích thước trong Xcode 8, và đặt tên là insets nội dung, insets Tiêu đề và insets ảnh.

+0

Tôi không biết sự thay đổi này trong Xcode 8.Nếu tôi muốn thêm hình ảnh ở bên phải của nút với tiêu đề bên trái, làm thế nào để làm điều này? Như bạn đã trả lời trước đó, có vẻ như tôi phải mã hóa cứng giá trị của tùy chọn 'right' của hình ảnh tới 300/500 pixel. Nhưng tôi nhớ trước đó chúng tôi có tùy chọn để chọn hình ảnh và đặt căn chỉnh của nó sang bên phải của nút. Bây giờ tôi không thể thấy điều đó ở đây. Bất kỳ giúp đỡ? Các giá trị mã hóa cứng này không hoạt động trên cả hai hướng. –

+0

Điều bạn yêu cầu đã được thay đổi như trên trong Xcode8. Trong Xcode7, bạn có thể đặt cạnh trái/phải bằng cách chọn tiêu đề hoặc hình ảnh. từ Xcode8, cùng một tên đã được đổi tên và chuyển sang phần kiểm tra kích thước. Tiêu đề insets và insets hình ảnh. Nếu bạn muốn, bạn có thể mã cứng hoặc bạn có thể tự động thêm khoảng cách vào nút bằng cách sử dụng kích thước nút. – Jeyamahesan

+0

Tùy chọn này không giúp tôi, tôi sẽ tìm ra giải pháp của tôi, Cảm ơn bạn –

20

Sử dụng Storyboard

Môi trường: XCode 8

Xcode8

Lưu ý: Trong Xcode 8 bạn sẽ tìm thấy Edge tùy chọn trong Kích thanh tra mà đặt tên như Insets nội dung, Insets tiêu đề và Insets hình ảnh.

Môi trường: XCode 7

Xcode7

Sử dụng .

Swift 3

myButton.titleEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 
myButton.imageEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 

Objective C

[myButton setTitleEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)]; 
[myButton setImageEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)]; 
Các vấn đề liên quan