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

XIB เป็นรูปแบบไฟล์สำหรับ Interface Builder ซึ่งเป็นเครื่องมือในการพัฒนาสำหรับแพลตฟอร์ม Mac OS X และ iOS

30
ไส้ปากกาที่โหลดแล้ว แต่ไม่ได้ตั้งค่า 'มุมมอง'
ฉันเพิ่มไฟล์ปลายปากกาใหม่ลงในโครงการของฉันและพยายามโหลด อย่างไรก็ตามเมื่อฉันคลิกที่ไอคอนแถบเครื่องมือที่ควรพาฉันไปที่มุมมองที่ฉันสร้างขึ้นฉันจะได้รับNSInternalInconsistencyExceptionข้อความ: การยกเลิกแอปเนื่องจากข้อยกเว้น 'NSInternalInconsistencyException' ที่ยังไม่ได้ตรวจสอบเหตุผล: '- [UIViewController _loadViewFromNibNamed: มัด:] โหลดไส้ปากกา "... " แต่ไม่ได้ตั้งค่ามุมมองเต้าเสียบ' ดังนั้นฉันจึงเปิดไฟล์ปลายปากกาของฉันและฉันเห็นว่าไม่มีการตั้งค่าช่องอ้างอิง อย่างไรก็ตามฉันพยายามคลิกและลากวงกลมสำหรับ "ช่องอ้างอิงใหม่" ไปยังเจ้าของไฟล์ แต่จะไม่ให้ฉัน ... ฉันต้องทำอย่างไรเพื่อให้มุมมองของฉันแสดง

23
คุณโหลด UITableViewCells ที่กำหนดเองจากไฟล์ Xib ได้อย่างไร
คำถามนั้นง่าย: คุณจะโหลด custom UITableViewCellจากไฟล์ Xib ได้อย่างไร การทำเช่นนั้นช่วยให้คุณใช้ตัวสร้างส่วนต่อประสานเพื่อออกแบบเซลล์ของคุณ เห็นได้ชัดว่าคำตอบนั้นไม่ง่ายเนื่องจากปัญหาการจัดการหน่วยความจำ เธรดนี้กล่าวถึงปัญหาและแนะนำวิธีแก้ไข แต่เป็นการนำเสนอ NDA ล่วงหน้าและไม่มีรหัส นี่คือหัวข้อยาวที่กล่าวถึงปัญหาโดยไม่ต้องให้คำตอบที่ชัดเจน นี่คือรหัสที่ฉันใช้: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } ในการใช้รหัสนี้ให้สร้าง MyCell.m / .h ซึ่งเป็นคลาสย่อยใหม่UITableViewCellและเพิ่มIBOutletsสำหรับส่วนประกอบที่คุณต้องการ จากนั้นสร้างไฟล์ …

12
วิธีล้างแคชและล้างเป้าหมาย Xcode 4 และใหม่กว่าทั้งหมด
โจนาธานแนะนำที่นี่: Xcode รวมถึง. xib ไฟล์ที่ถูกลบไปแล้ว! การล้างเป้าหมายทั้งหมดและล้างแคชจะแก้ไขปัญหาด้วย Xcode รวมถึงไฟล์. xib ที่ถูกลบ แต่ฉันไม่สามารถหาวิธีล้างแคชใน Xcode 4 ได้ วิธีทำใน Xcode 4
238 xcode  caching  xcode4  xib 

8
ฉันจะโหลดกระดานเรื่องราวแบบเป็นโปรแกรมจากชั้นเรียนได้อย่างไร
ปัญหาของฉันคือว่าผมกำลังมองหาวิธีการที่จะใช้ทั้งกระดานและXib แต่ฉันไม่สามารถหาวิธีที่เหมาะสมในการโหลดและแสดงกระดานเรื่องราวแบบเป็นโปรแกรม โครงการเริ่มพัฒนาด้วย xib และตอนนี้มันยากมากที่จะซ้อนไฟล์ xib ทั้งหมดไว้ในกระดานเรื่องราว ดังนั้นฉันจึงกำลังมองหาวิธีที่จะทำในรหัสเช่นalloc, init, pushสำหรับ viewControllers ในกรณีของฉันฉันมีคอนโทรลเลอร์เพียงหนึ่งตัวเท่านั้นในกระดานเรื่องราว: UITableViewControllerซึ่งมีสแตติกเซลล์ที่มีเนื้อหาบางส่วนที่ฉันต้องการแสดง หากใครรู้วิธีที่เหมาะสมในการทำงานทั้งกับ xib และกระดานเรื่องราวโดยไม่ต้องทำการปรับเปลี่ยนครั้งใหญ่ฉันจะขอบคุณสำหรับความช่วยเหลือ


26
โหลด UIView จากปลายปากกาใน Swift
นี่คือรหัส Objective-C ของฉันที่ฉันใช้ในการโหลดไส้ปากกาสำหรับการปรับแต่งของฉันUIView: -(id)init{ NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil]; return [subviewArray objectAtIndex:0]; } รหัสเทียบเท่าใน Swift คืออะไร
148 swift  uiview  xib 

6
Xcode เปลี่ยนสตอรี่บอร์ดและไฟล์ XIB ที่ไม่ได้แก้ไข
สตอรีบอร์ดเป็นความเจ็บปวดจากมุมมองของกระบวนการทำงานแบบคอมไพล์เมื่อมีคนหลายคนทำงานร่วมกัน ตัวอย่างเช่น XML ในไฟล์. สตอรี่บอร์ดมี<document>แท็กเริ่มต้นtoolsVersionและsystemVersionแอตทริบิวต์ที่เปลี่ยนแปลงโดยการกำหนดค่าใด ๆ ก็ตามที่เครื่องมือจัดการไฟล์ล่าสุดกำลังทำงานอยู่ การซิงโครไนซ์เวอร์ชัน Xcode ของทุกคนดูเหมือนจะช่วยได้อย่างแม่นยำtoolsVersionแต่systemVersionจะมีการเปลี่ยนแปลงไม่ว่าจะเป็นอย่างไรทั้งนี้ขึ้นอยู่กับเวอร์ชัน Mac และ / หรือ OS X ที่นักพัฒนาใช้งานอยู่ นี่เป็นเรื่องงี่เง่า แต่ส่วนใหญ่ไม่เป็นอันตราย สิ่งที่ทำให้เรากังวลคือในบางครั้งการเปลี่ยนแปลงอื่น ๆ จะเกิดขึ้นโดยอัตโนมัติกับสตอรีบอร์ดเพียงแค่เปิดหลังจากไฟล์git pull. กล่าวคืออลิซทำการเปลี่ยนแปลงกับสตอรีบอร์ดยอมรับและผลักดันไปยังที่เก็บ จากนั้นบ็อบดึงการเปลี่ยนแปลงของอลิซและเปิดกระดานเรื่องราวเพื่อทำการเปลี่ยนแปลงเพิ่มเติม ทันทีที่เขาเปิดกระดานเรื่องราวไอคอนไฟล์จะเปลี่ยนเป็นสถานะที่แก้ไข แต่ไม่ได้บันทึกทันทีและgit statusแสดงให้เห็นว่ามีการเปลี่ยนแปลงแปลก ๆ เกิดขึ้นจำนวนมาก ทั้งหมดนี้โดยที่ Bob ไม่ได้เปลี่ยนแปลงอะไรหรือบันทึกไฟล์ด้วยตัวเอง การเปลี่ยนแปลงอัตโนมัติที่พบบ่อยที่สุดที่เราเห็นคือการหายไปหรือการปรากฏขึ้นอีกครั้งของ<classes>แท็กทั้งหมดที่อยู่ใกล้กับส่วนท้ายของไฟล์สตอรีบอร์ด เรายังไม่ทราบว่าอะไรเป็นสาเหตุของสิ่งนี้ เราอาจมีสตอรี่บอร์ดเวอร์ชันแปลหลายเวอร์ชันในไดเร็กทอรี. lproj ต่างๆและเมื่อเปิดภายในอินเทอร์เฟซ Builder ลำดับชั้นของคลาสอาจถูกลบออกจากบางเวอร์ชันและเพิ่มลงในเวอร์ชันอื่น ๆ หรือปล่อยให้อยู่คนเดียวในบางไดเร็กทอรี สิ่งนี้ทำให้เกิดเสียงดังgit diffมาก แต่ก็ไม่ได้ทำลายฟังก์ชันการทำงานใด ๆ เรามักจะเลือกเพิ่มการเปลี่ยนแปลงจริงที่เราทำลงในดัชนีของ git กระทำสิ่งเหล่านั้นจากนั้นก็ทิ้งสิ่งที่เกิดขึ้นเองและไร้สาระ<classes>ซ้ำของการเปลี่ยนแปลงนี่คือการกระทำเล็ก ๆ …

10
โหลดมุมมองจากไฟล์ xib ภายนอกในกระดานเรื่องราว
ฉันต้องการใช้มุมมองจากหลาย ๆ ผู้ควบคุมการดูในกระดานเรื่องราว ดังนั้นฉันจึงคิดเกี่ยวกับการออกแบบมุมมองใน xib ภายนอกดังนั้นการเปลี่ยนแปลงจึงสะท้อนให้เห็นใน viewcontroller แต่วิธีหนึ่งสามารถโหลดมุมมองจากภายนอก xib ในกระดานเรื่องราวและมันเป็นไปได้ยัง? หากไม่ใช่กรณีนี้มีทางเลือกอื่นใดบ้างที่จะเหมาะสมกับสถานการณ์ต่อไปนี้
131 ios  uiview  storyboard  xib 

7
วิธีโหลดไฟล์ xib ใน UIView
ฉันได้ค้นหาทุกที่และจนถึงตอนนี้ก็ไม่มีอะไรได้ผลสำหรับฉัน โดยทั่วไปฉันต้องการมีไฟล์. xib ที่เรียกว่า rootView.xib และภายในนั้นฉันต้องการมี UIView (เรียกว่า containerView) ที่ใช้เวลาเพียงครึ่งหนึ่งของหน้าจอ (ดังนั้นจะมีมุมมองปกติและมุมมองใหม่) จากนั้นฉันต้องการไฟล์. xib อื่นที่เรียกว่า firstView.xib และโหลดภายใน containerView ดังนั้นฉันสามารถมีหลายอย่างใน firstView.xib และสิ่งต่าง ๆ มากมายใน rootView.xib และโหลด firstView.xib ของฉันภายใน containerView ใน rootView.xib แต่เนื่องจากใช้เวลาเพียงครึ่งหนึ่งของหน้าจอคุณจึงยังคงเห็น สิ่งต่างๆบน rootView.xib
111 ios  objective-c  uiview  xib 

6
วิธีที่ถูกต้องในการโหลด Nib สำหรับคลาสย่อย UIView
ฉันทราบว่ามีการถามคำถามนี้มาก่อน แต่คำตอบขัดแย้งกันและฉันสับสนดังนั้นโปรดอย่าทำให้ฉันตกใจ ฉันต้องการมีUIViewคลาสย่อยที่ใช้ซ้ำได้ในแอปของฉัน ฉันต้องการอธิบายอินเทอร์เฟซโดยใช้ไฟล์ nib ตอนนี้สมมติว่าเป็นมุมมองตัวบ่งชี้การโหลดที่มีตัวบ่งชี้กิจกรรมอยู่ในนั้น ฉันต้องการให้เหตุการณ์บางอย่างสร้างอินสแตนซ์ของมุมมองนี้และทำให้เคลื่อนไหวในมุมมองของตัวควบคุมมุมมอง ฉันสามารถอธิบายอินเทอร์เฟซของมุมมองได้อย่างไม่มีปัญหาโดยทางโปรแกรมสร้างองค์ประกอบโดยทางโปรแกรมและตั้งค่าเฟรมภายในวิธีการเริ่มต้นเป็นต้น ฉันจะทำสิ่งนี้โดยใช้ปลายปากกาได้อย่างไร? การรักษาขนาดที่กำหนดในตัวสร้างอินเทอร์เฟซโดยไม่ต้องกำหนดกรอบ ฉันทำแบบนี้แล้ว แต่ฉันแน่ใจว่ามันผิด (มันเป็นเพียงมุมมองที่มีตัวเลือกอยู่ในนั้น): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } แต่ฉันเขียนทับตัวเองและเมื่อฉันสร้างอินสแตนซ์: FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; …

3
มุมมองที่กำหนดเองด้วย Storyboard
ในหน้าจอที่ซับซ้อน (View Controllers) ฉันใช้เพื่อแยกสิ่งทั้งหมดออกเป็นชิ้นเล็ก ๆ (ฉันเรียกว่าวิดเจ็ต) วิดเจ็ตเหล่านี้ประกอบด้วย a MyWidget.hและMyWidget.mไฟล์เป็นพื้นฐานMyWidget.xibโดยที่องค์ประกอบรูทคือ a UIViewและคลาส MyWidget คือเจ้าของไฟล์ของ UIView ในการเริ่มต้นของวิดเจ็ตนี้ฉันทำไฟล์loadNibNamed. ใน View Controller ของฉันฉันทำ a [[MyWidget alloc] init]ซึ่งฉันเพิ่มในมุมมองหลักของ View's Controller เป็นมุมมองย่อย จนถึงขณะนี้ทำงานได้อย่างสมบูรณ์ ตอนนี้ฉันสงสัยว่าจะทำเช่นเดียวกันกับสตอรีบอร์ดได้อย่างไรเพราะฉันไม่สามารถเริ่มลากไปที่UIViewใดที่หนึ่งได้จริงๆฉันมักจะต้องเริ่มต้นด้วยสิ่งUIViewControllerที่ฉันไม่ต้องการ หากไม่มีวิธีที่เป็นไปได้ในการทำ Storyboard ฉันจะทำแบบเดิมได้ไหมโดยใช้ Storyboard สำหรับหน้าจอหลักและส่วนต่างๆของฉันและใช้ไฟล์. xib แยกต่างหากเพื่อกำหนดมุมมองที่กำหนดเอง
96 ios  storyboard  xib 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.