การจัดแนวข้อความและรูปภาพบน UIButton ด้วย imageEdgeInsets และ titleEdgeInsets
ฉันต้องการวางไอคอนด้านซ้ายของข้อความสองบรรทัดเพื่อให้มีพื้นที่ว่างประมาณ 2-3 พิกเซลระหว่างรูปภาพและจุดเริ่มต้นของข้อความ ตัวควบคุมอยู่ตรงกลางในแนวนอน (ตั้งค่าผ่านเครื่องมือสร้างส่วนติดต่อ) ปุ่มจะคล้ายกับสิ่งนี้: | | |[Image] Add To | | Favorites | ฉันกำลังพยายามกำหนดค่านี้ด้วย contentEdgeInset, imageEdgeInsets และ titleEdgeInsets เพื่อประโยชน์ ฉันเข้าใจว่าค่าลบขยายขอบขณะที่ค่าบวกย่อตัวเพื่อย้ายเข้าใกล้ศูนย์กลาง ฉันเหนื่อย: [button setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, 0)]; [button setImageEdgeInsets:UIEdgeInsetsMake(0, button.titleLabel.bounds.size.width, 0, 0)]; แต่มันไม่แสดงอย่างถูกต้อง ฉันได้รับการปรับแต่งค่า แต่จากการพูด -5 ถึง -10 บนค่าสิ่งที่ใส่เข้าไปทางซ้ายดูเหมือนจะไม่ย้ายไปในลักษณะที่คาดไว้ -10 จะดักฟังข้อความไปทางซ้ายดังนั้นฉันคาดว่า -5 จะวิ่งไปทางซ้ายครึ่งทางจากด้านซ้าย แต่ไม่ได้ ตรรกะที่อยู่เบื้องหลังสิ่งที่ใส่เข้าไปคืออะไร? ฉันไม่คุ้นเคยกับตำแหน่งรูปภาพและคำศัพท์ที่เกี่ยวข้อง ฉันใช้คำถาม SO นี้เป็นข้อมูลอ้างอิง …