Tôi đồng ý với Fogmeister cho các trường văn bản được tạo bằng mã. Nhưng nếu bạn đang đặt ra các trường văn bản trong Storyboards, cách tiếp cận đó sẽ không hoạt động (vì mỗi trường xác định rõ ràng các thuộc tính của nó). Nhưng có một cách dễ dàng không hoạt động.
Nhấp chuột phải vào bảng phân cảnh của bạn và "Mở dưới dạng .." Mã nguồn. Điều đó đặt một biểu diễn XML của SB lên một cửa sổ trình soạn thảo. Ở đó bạn có thể thay đổi các thuộc tính textfield trên toàn cầu (và/hoặc chọn lọc) bằng cách sử dụng trình soạn thảo (hoặc sao chép vào trình soạn thảo XML mà bạn chọn).
Cảnh báo công bằng, có thể giết dự án của bạn nếu bạn giới thiệu các lỗi trong SB sẽ giữ nó khỏi biên dịch - vì vậy hãy cẩn thận và đảm bảo bạn có bản sao lưu cho SB của mình. Nhưng nếu bạn kiểm tra sau mỗi thay đổi, kỹ thuật này có thể hoạt động rất tốt.
Tìm kiếm "<textField
" để tìm một cái gì đó như thế này:
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="name" minimumFontSize="17" clearButtonMode="whileEditing" id="F9N-Tb-KTd">
<rect key="frame" x="176" y="301" width="472" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="words" enablesReturnKeyAutomatically="YES"/>
<connections>
<action selector="changeName:" destination="4" eventType="editingDidEnd" id="bLg-iM-m8a"/>
</connections>
</textField>
Tìm một textfield có các thuộc tính fontDescription bạn thích, và một trong đó không. Sau đó, thay thế các thuộc tính fontDescription mà bạn muốn thay đổi với các thuộc tính tương ứng từ thuộc tính tốt nhất. Hãy chắc chắn giới hạn các thay đổi của bạn đối với những thứ như phông chữ, kích thước và nền. Không thay đổi id, rect hoặc bất kỳ thứ gì khác cần phải là duy nhất cho textfield.
Tôi hy vọng điều này phù hợp với bạn, đó là một kỹ thuật rất tiện dụng cho tôi để đảm bảo tất cả các trường văn bản của tôi có kiểu chữ nhất quán.
(Để quay trở lại xem bình thường, "Open As ..." Interface Builder - Storyboard)
Chúc may mắn!
hmm ... công cụ lớp có lẽ là tùy chỉnh quan trọng nhất ở đây. Không chắc chắn nếu điều này sẽ làm việc – Rohan
Thêm một câu trả lời mới mà không yêu cầu phân lớp. Subclassing là tốt nhất để tránh với các điều khiển như thế này nếu có thể. – Fogmeister
cách chúng ta có thể tạo kiểu cho các thuộc tính lớp từ AppDelegate? – dev27