คำถามติดแท็ก ios-autolayout

15
NSLayoutConstraint คืออะไร“ UIView-Encapsulated-Layout-Height” และฉันควรบังคับให้มันคำนวณใหม่อย่างหมดจดอย่างไร
ฉันUITableViewทำงานภายใต้ iOS 8 และฉันใช้ความสูงของเซลล์อัตโนมัติจากข้อ จำกัด ในกระดานเรื่องราว หนึ่งในเซลล์ของฉันมีเซลล์เดียวUITextViewและฉันต้องการให้สัญญาและขยายตามการป้อนข้อมูลของผู้ใช้ - แตะเพื่อย่อ / ขยายข้อความ ฉันกำลังทำสิ่งนี้โดยเพิ่มข้อ จำกัด รันไทม์ลงในมุมมองข้อความและเปลี่ยนค่าคงที่ของข้อ จำกัด เพื่อตอบสนองต่อกิจกรรมของผู้ใช้: -(void)collapse:(BOOL)collapse; { _collapsed = collapse; if(collapse) [_collapsedtextHeightConstraint setConstant: kCollapsedHeight]; // 70.0 else [_collapsedtextHeightConstraint setConstant: [self idealCellHeightToShowFullText]]; [self setNeedsUpdateConstraints]; } เมื่อใดก็ตามที่ฉันทำสิ่งนี้ฉันใส่ไว้ในtableViewอัพเดตและโทร[tableView setNeedsUpdateConstraints]: [tableView beginUpdates]; [_briefCell collapse:!_showFullBriefText]; [tableView setNeedsUpdateConstraints]; // I have also tried // [self.tableView …

24
ความสูงของเซลล์แบบไดนามิก UITableView จะถูกต้องหลังจากการเลื่อนบางครั้งเท่านั้น
ฉันมีแบบUITableViewกำหนดเองUITableViewCellในสตอรีบอร์ดโดยใช้รูปแบบอัตโนมัติ เซลล์มีหลายสายUILabelsสาย UITableViewปรากฏขึ้นให้สูงเซลล์คำนวณอย่างถูกต้อง แต่สำหรับไม่กี่เซลล์แรกที่มีความสูงไม่ได้แบ่งแยกออกจากกันอย่างถูกต้องระหว่างฉลาก หลังจากเลื่อนไปเล็กน้อยทุกอย่างจะทำงานตามที่คาดไว้ (แม้แต่เซลล์ที่เริ่มต้นไม่ถูกต้อง) - (void)viewDidLoad { [super viewDidLoad] // ... self.tableView.rowHeight = UITableViewAutomaticDimension; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TestCell"]; // ... // Set label.text for variable length string. return cell; } มีอะไรที่ฉันอาจขาดหายไปซึ่งทำให้การจัดวางอัตโนมัติไม่สามารถทำงานได้ในสองสามครั้งแรก? ฉันได้สร้างโครงการตัวอย่างที่แสดงให้เห็นถึงพฤติกรรมนี้

9
จะอัปเดตข้อจำกัดความสูงคงที่ของ UIView แบบเป็นโปรแกรมได้อย่างไร
ฉันมี UIViewและตั้งข้อ จำกัด โดยใช้ Xcode Interface Builder ตอนนี้ฉันต้องการอัปเดตสิ่งนั้น UIViewค่าคงที่ความสูงของอินสแตนซ์นั้นโดยทางโปรแกรม มีฟังก์ชั่นที่เหมือนmyUIView.updateConstraints()แต่ไม่รู้จะใช้ยังไง

3
'Vary for Traits' ใน Xcode 8 คืออะไร?
ฉันใช้ autolayout และขนาดชั้นเรียน แต่ด้วยการเปิดตัว iOS 10 และ Xcode ใหม่ 8.0 Vary for Traitsมีหนึ่งตัวเลือกใหม่ นี่คือการเปลี่ยน Size Classe สำหรับความกว้างและความสูงของอุปกรณ์ที่แตกต่างกัน โดยการเลือกwidthช่องทำเครื่องหมายจะปรากฏvarying 14 compact width devicesขึ้น โดยการเลือกheightช่องทำเครื่องหมายจะปรากฏvarying 18 compact height devicesขึ้น โดยการเลือกช่องทำเครื่องหมายทั้งสองช่องจะปรากฏvarying 11 compact width regular height devicesขึ้น จะใช้ประโยชน์จากตัวเลือกนี้ได้อย่างไร? เราสามารถใช้ AutoLayout กับคลาสขนาดเช่น Xcode7.0 ได้หรือไม่? หากท่านใดมีความรู้เชิงลึกโปรดอธิบาย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.