คำถามติดแท็ก uitableview

UITableView เป็นคลาสที่ใช้สำหรับแสดงและแก้ไขรายการข้อมูลบน iOS มุมมองตารางแสดงรายการในคอลัมน์เดียว UITableView เป็น subclass ของ UIScrollView ซึ่งอนุญาตให้ผู้ใช้เลื่อนผ่านตารางแม้ว่า UITableView อนุญาตให้เลื่อนแนวตั้งเท่านั้น

22
ตรวจพบกรณีที่ข้อ จำกัด แนะนำความสูงเป็นศูนย์อย่างคลุมเครือ
หลังจากอัปเดตเป็น Xcode 6.1 beta 2 เมื่อฉันเรียกใช้แอปที่มีเซลล์ tableview ผู้ช่วยแก้ไขข้อบกพร่องกล่าวว่า: Warning once only: Detected a case where constraints ambiguously suggest a height of zero for a tableview cell's content view. We're considering the collapse unintentional and using standard height instead. ก่อนหน้านี้เมื่อฉันใช้ Xcode 5 ในโปรเจ็กต์นี้ฉันจะได้รับข้อผิดพลาดเล็กน้อย แต่สิ่งเหล่านั้นหายไปตั้งแต่ฉันอัปเกรด ตอนนี้ฉันไม่มีข้อผิดพลาดหรือคำเตือนอื่น ๆ ฉันได้ลองปรับขนาดของเซลล์มุมมองตารางทั้งหมดแล้วและลองใช้ความสูงมาตรฐาน แต่ฉันก็ยังได้รับคำเตือนเหมือนเดิม: Warning once only: …

15
UIRefreshControl - startRefreshing ไม่ทำงานเมื่อ UITableViewController อยู่ใน UINavigationController
ฉันได้ตั้งค่า UIRefreshControl ใน UITableViewController ของฉัน (ซึ่งอยู่ใน UINavigationController) และทำงานได้ตามที่คาดไว้ (เช่นการดึงลงจะทำให้เหตุการณ์ที่ถูกต้อง) อย่างไรก็ตามหากฉันเรียกใช้beginRefreshingวิธีการอินสแตนซ์โดยทางโปรแกรมบนตัวควบคุมการรีเฟรชเช่น: [self.refreshControl beginRefreshing]; ไม่มีอะไรเกิดขึ้น. มันควรจะเคลื่อนไหวลงและแสดงสปินเนอร์ endRefreshingวิธีการทำงานอย่างถูกต้องเมื่อผมเรียกว่าหลังจากการฟื้นฟู ฉันสร้างโครงการต้นแบบพื้นฐานด้วยพฤติกรรมนี้และทำงานได้อย่างถูกต้องเมื่อ UITableViewController ของฉันถูกเพิ่มลงในตัวควบคุมมุมมองรูทของผู้รับมอบสิทธิ์โดยตรงเช่น: self.viewController = tableViewController; self.window.rootViewController = self.viewController; แต่ถ้าฉันจะเพิ่มtableViewControllerการ UINavigationController เป็นครั้งแรกแล้วเพิ่มควบคุมการนำเป็นrootViewControllerที่beginRefreshingทำงานของวิธีการไม่ได้ เช่น UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController]; self.viewController = navController; self.window.rootViewController = self.viewController; ความรู้สึกของฉันคือมีบางอย่างเกี่ยวข้องกับลำดับชั้นมุมมองที่ซ้อนกันภายในตัวควบคุมการนำทางไม่ได้เล่นได้ดีกับตัวควบคุมการทบทวน - ข้อเสนอแนะใด ๆ ? ขอบคุณ

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; } มีอะไรที่ฉันอาจขาดหายไปซึ่งทำให้การจัดวางอัตโนมัติไม่สามารถทำงานได้ในสองสามครั้งแรก? ฉันได้สร้างโครงการตัวอย่างที่แสดงให้เห็นถึงพฤติกรรมนี้

12
พฤติกรรม uitableview แปลก ๆ ใน iOS11 เซลล์เลื่อนขึ้นพร้อมกับแอนิเมชั่นแบบพุชการนำทาง
ฉันเพิ่งย้ายรหัสบางส่วนไปยัง iOS 11 beta 5 SDK ใหม่ ตอนนี้ฉันได้รับพฤติกรรมที่สับสนมากจาก UITableView Tableview เองก็ไม่ได้แฟนซีขนาดนั้น ฉันมีเซลล์ที่กำหนดเอง แต่ส่วนใหญ่เป็นเพียงความสูง เมื่อฉันดันตัวควบคุมมุมมองด้วย tableview ฉันจะได้รับภาพเคลื่อนไหวเพิ่มเติมโดยที่เซลล์ "เลื่อนขึ้น" (หรืออาจจะเปลี่ยนกรอบมุมมองตารางทั้งหมด) และลงพร้อมกับภาพเคลื่อนไหวการนำทางแบบพุช / ป๊อป โปรดดู gif: ฉันสร้างด้วยตนเองtableviewในloadViewวิธีการและรูปแบบการตั้งค่าอัตโนมัติ จำกัด จะเท่ากับชั้นนำต่อท้ายด้านบนด้านล่างของ SuperView tableview ของ ซูเปอร์วิวคือมุมมองรูทของตัวควบคุมมุมมอง ดูรหัสการผลักดันคอนโทรลเลอร์เป็นมาตรฐานมาก: self.navigationController?.pushViewController(notifVC, animated: true) รหัสเดียวกันให้การทำงานปกติบน iOS 10 คุณช่วยชี้ทิศทางของสิ่งที่ผิดได้ไหม แก้ไข: ฉันได้สร้างตัวควบคุม tableview ที่เรียบง่ายมากและฉันสามารถสร้างพฤติกรรมเดียวกันได้ที่นั่น รหัส: class VerySimpleTableViewController : UITableViewController { override func …

20
UITableView เริ่มต้นด้วยการชดเชยใน iOS 7
ฉันได้ลาก UITableView เจนธรรมดาไปยัง UIViewController ใน iOS 7 ตอนนี้มีการชดเชยช่องว่างในแนวตั้งก่อนที่เซลล์แรกจะเริ่มต้น ฉันจะกำจัดมันได้อย่างไร? ฉันต้องการให้บรรทัดแรกใกล้กับขอบด้านบนของจุดเริ่มต้นของ UITableView มากขึ้น ฉันไม่ได้ขอค่าชดเชยจำนวนมากใช่หรือไม่? ความคิดใด ๆ ?
115 uitableview  ios7 

11
วิธีปรับแต่งสีพื้นหลัง / เส้นขอบของเซลล์มุมมองตารางที่จัดกลุ่ม
ฉันต้องการปรับแต่งทั้งพื้นหลังและสีขอบของ UITableView แบบจัดกลุ่ม ฉันสามารถปรับแต่งสีพื้นหลังได้โดยใช้สิ่งต่อไปนี้: tableView.contentView.backgroundColor = [UIColor greenColor]; แต่สีเส้นขอบยังคงเป็นสิ่งที่ฉันไม่รู้ว่าจะเปลี่ยนอย่างไร ฉันจะปรับแต่งมุมมองตารางแบบจัดกลุ่มทั้งสองลักษณะนี้ได้อย่างไร

14
หากไม่มีผลลัพธ์ของ Table View ให้แสดง“ No Results” บนหน้าจอ
ฉันมีtableviewที่ซึ่งบางครั้งอาจไม่มีผลลัพธ์ใด ๆ ให้แสดงดังนั้นฉันจึงต้องการใส่บางสิ่งที่ระบุว่า "ไม่มีผลลัพธ์"หากไม่มีผลลัพธ์ (ไม่ว่าจะเป็นป้ายกำกับหรือเซลล์มุมมองตารางเดียว) มีวิธีที่ง่ายที่สุดในการดำเนินการนี้หรือไม่? ฉันจะลองlabelอยู่เบื้องหลังtableviewแล้วซ่อนหนึ่งในสองบนพื้นฐานของผล แต่เนื่องจากผมทำงานด้วยTableViewControllerและไม่ปกติViewControllerผมไม่แน่ใจว่าวิธีการที่สมาร์ทหรือที่เป็นไปได้ ฉันยังใช้Parseและคลาสย่อยเป็นPFQueryTableViewController: @interface TableViewController : PFQueryTableViewController ฉันสามารถให้รายละเอียดเพิ่มเติมที่จำเป็นเพียงแจ้งให้เราทราบ! TableViewController ฉากในสตอรี่บอร์ด: แก้ไข: สำหรับ Midhun MP นี่คือรหัสที่ฉันใช้ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { NSInteger numOfSections = 0; if ([self.stringArray count] > 0) { self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; numOfSections = 1; //yourTableView.backgroundView = nil; self.tableView.backgroundView = nil; } else { …


8
เป็นไปได้ไหมที่จะได้รับความสูงส่วนหัวของส่วนมุมมองตารางแบบไดนามิกโดยใช้เค้าโครงอัตโนมัติ
ใหม่ใน iOS 8 คุณสามารถรับเซลล์มุมมองตารางแบบไดนามิก 100% ได้เพียงแค่ตั้งค่าความสูงของแถวโดยประมาณจากนั้นจัดวางองค์ประกอบของคุณในเซลล์โดยใช้เค้าโครงอัตโนมัติ หากเนื้อหามีความสูงเพิ่มขึ้นเซลล์ก็จะมีความสูงเพิ่มขึ้นด้วย สิ่งนี้มีประโยชน์อย่างยิ่งและฉันสงสัยว่าจะสามารถใช้ความสามารถเดียวกันกับส่วนหัวในมุมมองตารางได้หรือไม่? ตัวอย่างเช่นสามารถสร้างไฟล์ UIViewในtableView:viewForHeaderInSection:เพิ่มUILabelมุมมองย่อยระบุข้อ จำกัด การจัดวางอัตโนมัติสำหรับป้ายกำกับกับมุมมองและเพิ่มความสูงของมุมมองเพื่อให้พอดีกับเนื้อหาของป้ายกำกับโดยไม่ต้องใช้งานได้tableView:heightForHeaderInSection:หรือไม่ เอกสารประกอบสำหรับviewForHeaderInSectionStates: "วิธีนี้ใช้ได้เฉพาะเมื่อมีการใช้ tableView: heightForHeaderInSection: ด้วย" ฉันไม่ได้ยินว่ามีอะไรเปลี่ยนแปลงสำหรับ iOS 8 หรือไม่ หากไม่สามารถทำได้วิธีใดที่ดีที่สุดในการเลียนแบบพฤติกรรมนี้?

4
UITableview ที่มีเซลล์ที่กำหนดเองมากกว่าหนึ่งเซลล์ด้วย Swift
ฉันต้องการใช้ UITableview กับ tableViewCells แบบกำหนดเองที่แตกต่างกัน เซลล์ 3 เซลล์ของฉันมีดังนี้: Cell1: ควรมีรูปภาพและป้ายกำกับ Cell2: ควรมีป้ายกำกับสองป้าย Cell3: ควรมี dayPicker ฉันไม่ต้องการโค้ดแท็กสำหรับเซลล์ ฉันจะจัดการสิ่งนี้ใน Swift ได้อย่างไร ฉันต้องเขียนโค้ดคลาสของตัวเองสำหรับทุกเซลล์หรือไม่ ฉันสามารถใช้ tableviewController หนึ่งตัวได้หรือไม่ ฉันจะเติมข้อมูลในเซลล์ต่างๆได้อย่างไร ฉันต้องการสร้าง tableView เช่นแอปติดต่อของอุปกรณ์ iOS
111 swift  uitableview 

10
ลบสีไฮไลต์เซลล์ของ UITableView
ฉันต้องการลบสีฟ้าเริ่มต้นของการเลือกเซลล์ uitableview ฉันไม่ต้องการเลือกสีใด ๆ ที่นั่น ฉันยังไม่ได้สร้างคลาสเซลล์แบบกำหนดเอง ฉันกำลังปรับแต่งเซลล์โดยเพิ่มป้ายกำกับและปุ่มต่างๆ ฉันพยายามทำ: cell.selectioncolor = [UIColor clearcolor]; แต่มันบอกว่าวิธีนี้เลิกใช้แล้ว

15
วิธีซ่อนส่วนหัวส่วนแรกใน UITableView (สไตล์ที่จัดกลุ่ม)
เนื่องจากการออกแบบมุมมองตารางโดยใช้รูปแบบการจัดกลุ่มเปลี่ยนไปอย่างมากใน iOS 7 ฉันจึงต้องการซ่อน (หรือลบ) ส่วนหัวส่วนแรก จนถึงตอนนี้ฉันยังไม่ประสบความสำเร็จ ค่อนข้างง่ายรหัสของฉันมีลักษณะดังนี้: - (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { if (section == 0) return 0.0f; return 32.0f; } - (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if (section == 0) { UIView* view = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)]; return view; } return nil; } …
108 ios  uitableview  ios7 

18
รับการแจ้งเตือนเมื่อ UITableView ขอข้อมูลเสร็จแล้ว?
มีวิธีใดบ้างที่จะทราบได้ว่าเมื่อการUITableViewขอข้อมูลจากแหล่งข้อมูลเสร็จสิ้นแล้วหรือไม่? ไม่มีการใช้viewDidLoad/ viewWillAppear/ viewDidAppearmethod ของตัวควบคุมมุมมองที่เกี่ยวข้อง ( UITableViewController) ที่นี่เนื่องจากทั้งหมดเริ่มทำงานเร็วเกินไป ไม่มีข้อใดเลย (อย่างที่เข้าใจได้ทั้งหมด) รับประกันได้ว่าการสืบค้นไปยังแหล่งข้อมูลเสร็จสิ้นในขณะนี้ (เช่นจนกว่าจะเลื่อนมุมมอง) วิธีแก้ปัญหาอย่างหนึ่งที่ฉันพบคือการโทรreloadDataเข้าviewDidAppearเนื่องจากเมื่อreloadDataส่งคืนมุมมองตารางจะได้รับการรับประกันว่าจะค้นหาแหล่งข้อมูลเสร็จสิ้นแล้วเท่าที่จำเป็นในขณะนี้ อย่างไรก็ตามสิ่งนี้ดูเหมือนจะค่อนข้างน่ารังเกียจเนื่องจากฉันคิดว่ามันทำให้แหล่งข้อมูลถูกขอข้อมูลเดียวกันสองครั้ง (หนึ่งครั้งโดยอัตโนมัติและหนึ่งครั้งเนื่องจากการreloadDataโทร) เมื่อโหลดครั้งแรก เหตุผลที่ฉันต้องการทำเลยก็คือฉันต้องการรักษาตำแหน่งการเลื่อนของUITableView- แต่ลงไปที่ระดับพิกเซลไม่ใช่แค่แถวที่ใกล้ที่สุด เมื่อคืนเลื่อนตำแหน่ง (ใช้scrollRectToVisible:animated:) ผมต้องดูตารางที่จะมีข้อมูลที่เพียงพอในนั้นหรืออื่น ๆscrollRectToVisible:animated:เรียกวิธีการไม่ทำอะไรเลย (ซึ่งเป็นสิ่งที่เกิดขึ้นถ้าคุณวางสายของตัวเองในการใด ๆviewDidLoad, viewWillAppearหรือviewDidAppear)
108 ios  iphone  uitableview 

6
UITableView พร้อมส่วนหัวคงที่
ทักทายฉันกำลังอ่านว่าพฤติกรรมเริ่มต้นของUITableViewคือการตรึงแถวส่วนหัวของส่วนไว้ที่ด้านบนสุดของตารางเมื่อคุณเลื่อนดูส่วนต่างๆจนกระทั่งส่วนถัดไปดันแถวส่วนเหนือออกจากมุมมอง ฉันมีUITableViewภายในUIViewControllerและดูเหมือนจะไม่เป็นเช่นนั้น นั่นเป็นเพียงพฤติกรรมผิดนัดเพื่อUITableViewController? ต่อไปนี้เป็นรหัสที่เรียบง่ายตามสิ่งที่ฉันมี ฉันจะแสดงUIControllerอินเทอร์เฟซและวิธีการดูตารางแต่ละวิธีที่ฉันใช้เพื่อสร้างมุมมองตาราง ฉันมีคลาสแหล่งข้อมูลตัวช่วยที่ช่วยจัดทำดัชนีวัตถุเพื่อใช้กับตาราง @interface MyUIViewController ()<UITableViewDelegate, UITableViewDataSource> @property (nonatomic, readonly) UITableView *myTableView; @property (nonatomic, readonly) MyCustomHelperDataSource *helperDataSource; @end //when section data is set, get details for each section and reload table on success - (void)setSectionData:(NSArray *)sections { super.sectionData = sections; //this array drives the sections //get additional …

7
วิธีตั้งค่าความกว้างของเซลล์ใน UITableView ในรูปแบบที่จัดกลุ่ม
ฉันทำงานนี้มาประมาณ 2 วันแล้วฉันจึงคิดว่าฉันจะแบ่งปันสิ่งที่ฉันเรียนรู้กับคุณ คำถามคือเป็นไปได้หรือไม่ที่จะทำให้ความกว้างของเซลล์ใน UITableView ที่จัดกลุ่มเล็กลง คำตอบคือ: ไม่ แต่มีสองวิธีที่คุณสามารถแก้ไขปัญหานี้ได้ โซลูชัน # 1: ตารางที่บางลง เป็นไปได้ที่จะเปลี่ยนกรอบของ tableView เพื่อให้ตารางมีขนาดเล็กลง สิ่งนี้จะส่งผลให้ UITableView แสดงผลเซลล์ภายในด้วยความกว้างที่ลดลง วิธีแก้ไขอาจมีลักษณะดังนี้: -(void)viewWillAppear:(BOOL)animated { CGFloat tableBorderLeft = 20; CGFloat tableBorderRight = 20; CGRect tableRect = self.view.frame; tableRect.origin.x += tableBorderLeft; // make the table begin a few pixels right from its origin tableRect.size.width …
107 ios  iphone  uitableview  width 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.