ฉันกำลังพยายามเปลี่ยนแบบอักษรของ UIButton โดยใช้ Swift ...
myButton.font = UIFont(name: "...", 10)
อย่างไรก็ตาม.font
เลิกใช้แล้วและฉันไม่แน่ใจว่าจะเปลี่ยนแบบอักษรอื่นได้อย่างไร
ข้อเสนอแนะใด ๆ
ฉันกำลังพยายามเปลี่ยนแบบอักษรของ UIButton โดยใช้ Swift ...
myButton.font = UIFont(name: "...", 10)
อย่างไรก็ตาม.font
เลิกใช้แล้วและฉันไม่แน่ใจว่าจะเปลี่ยนแบบอักษรอื่นได้อย่างไร
ข้อเสนอแนะใด ๆ
คำตอบ:
ใช้titleLabel
แทน font
คุณสมบัติจะเลิกใน iOS 3.0 มันไม่ทำงานใน Objective-C เป็นป้ายที่ใช้สำหรับการแสดงในชื่อtitleLabel
UIButton
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
setTitle:forControlState:
อย่างไรก็ตามในขณะที่การตั้งค่าข้อความชื่อเรื่องที่คุณควรใช้เท่านั้น อย่าใช้titleLabel
เพื่อตั้งค่าข้อความใด ๆ สำหรับชื่อเรื่องโดยตรง
titleLabel
เป็นคุณสมบัติทางเลือกขอบคุณก่อนหน้านี้ในรุ่นเบต้ามันไม่ได้
myButton.titleLabel?.font = ...
จะทำงานได้ถ้าหาก titleLabel เป็นศูนย์มันจะไม่ทำงาน
สำหรับSwift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
โดยที่ "boldSystemFont" และ "16" สามารถแทนที่ด้วยแบบอักษรและขนาดที่กำหนดเองของคุณ
btn.titleLabel?.font = .systemFont(ofSize: 12)
คุณไม่จำเป็นต้องบังคับแกะฉลากชื่อเพื่อตั้งค่า
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
เนื่องจากคุณไม่ได้ใช้ titleLabel ที่นี่คุณสามารถเลือกใช้และถ้าไม่มีก็จะเป็นแบบไม่มี op
ฉันจะเพิ่มตามที่คนอื่นพูดคุณสมบัติของฟอนต์เลิกใช้แล้วและต้องแน่ใจว่าใช้setTitle:forControlState:
เมื่อตั้งค่าข้อความชื่อ
จากเอกสาร :
แบบอักษรที่ใช้แสดงข้อความบนปุ่ม ( เลิกใช้แล้วใน iOS 3.0ใช้
font
คุณสมบัติของtitleLabel
แทน)
หากคุณมีปัญหาเกี่ยวกับขนาดตัวอักษร (แบบอักษรของคุณไม่ตอบสนองต่อการเปลี่ยนแปลงขนาด) ...
@codester มีรหัสที่ถูกต้อง:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
อย่างไรก็ตามขนาดตัวอักษรของฉันไม่เปลี่ยนแปลง ปรากฎว่าฉันขอแบบอักษรที่ไม่มีอยู่ ("HelveticaNeue-Regular") มันไม่ได้ทำให้เกิดความผิดพลาด แต่ดูเหมือนว่าจะเพิกเฉยต่อคำสั่งแบบอักษรนั้นเพราะมัน เมื่อฉันเปลี่ยนแบบอักษรเป็นสิ่งที่มีอยู่แล้วการเปลี่ยนเป็น "ขนาด: x" ก็แสดงผล
เราสามารถใช้แบบอักษรของระบบที่แตกต่างกันเช่นด้านล่าง
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
และแบบอักษรที่กำหนดเองของคุณเช่นด้านล่าง
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
คุณควรผ่านtitleLabel
คุณสมบัติ
button.titleLabel.font
font
คุณสมบัติได้รับการคัดค้านตั้งแต่ iOS 3.0
คุณควรตั้งค่าแบบอักษรของปุ่มชื่อเรื่องแทน
myButton.titleLabel!.font = UIFont(name: "...", 10)
ใช้งานได้ใน Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
หากคุณกำลังตั้งค่า AttributedString เป็น UIButton คุณสามารถทำสิ่งต่าง ๆ ด้านล่างได้
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
หากคุณต้องการเปลี่ยนขนาดเท่านั้น ( Swift 4.0 ):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
ตัวอย่าง: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
วิธีนี้ใช้ไม่ได้ในขณะนี้:
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
งานนี้:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)
ขอบคุณสำหรับงานนี้ ฉันต้องการเปลี่ยนขนาดตัวอักษรเท่านั้นไม่เปลี่ยนชื่อแบบอักษร
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))