स्टोरीबोर्ड प्रोटोटाइप सेल (Xcode 6, iOS 8 SDK) में UICollectionViewCell contentView के फ्रेम का ऑटोरेस्ज़िंग इशू केवल iOS 7 पर चलने पर होता है


158

मैं Xcode 6 बीटा 3, iOS 8 SDK का उपयोग कर रहा हूं। स्विफ्ट का उपयोग करके लक्ष्य iOS 7.0 बनाएँ। कृपया नीचे स्क्रीनशॉट के साथ कदम से कदम मेरी समस्या को देखें।

मेरे पास स्टोरीबोर्ड में एक UICollectionView है। 1 प्रोटोटाइप UICollectionViewCell जिसमें केंद्र में 1 लेबल होता है (कोई ऑटोराइज़िंग नियम नहीं)। पर्पल बैकग्राउंड एक contentView को चिह्नित करने के लिए था जो सेल I के अनुमान से रनटाइम में उत्पन्न होता है। उस दृश्य को मेरे UICollectionViewLayoutDelegate पर ठीक से आधार पर फिर से आकार दिया जाएगा, लेकिन iOS 7 पर नहीं। ध्यान दें कि मैं Xcode 6 का उपयोग कर रहा हूं और समस्या केवल iOS 7 पर होती है।

जब मैं iOS 8 पर ऐप बनाता हूं। सब कुछ ठीक है।

नोट: बैंगनी contentView है , नीला गोल कोने वाला मेरा UIButton है।

http://i.stack.imgur.com/uDNDY.png

हालाँकि, iOS 7 पर, सेल के अंदर सभी उप-दृश्य अचानक (0,0,50,50) के फ़्रेम में सिकुड़ जाते हैं और कभी भी मेरे ऑटोरेस्ज़िंग नियम के अनुरूप नहीं होते हैं।

http://i.stack.imgur.com/lOZH9.png

मुझे लगता है कि यह iOS 8 SDK या स्विफ्ट या शायद Xcode में एक बग है?


अद्यतन 1: यह समस्या अभी भी आधिकारिक Xcode 6.0.1 में मौजूद है! आसपास का सबसे अच्छा काम वैसा ही है जैसा कि KoCMoHaBTa ने सेल के सेलफोर इटेम में फ्रेम सेट करके नीचे सुझाव दिया है (आपको हालांकि अपने सेल को उप-वर्ग करना होगा)। यह पता चला कि यह iOS 8 SDK और iOS 7 के बीच असंगतता है (Apple से उद्धृत नीचे Ecotax का उत्तर)।

अपडेट 2: इस कोड को अपने सेलफ़ोरइम की शुरुआत में पेस्ट करें और चीजें ठीक होनी चाहिए:

/** Xcode 6 on iOS 7 hot fix **/
cell.contentView.frame = cell.bounds;
cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
/** End of Xcode 6 on iOS 7 hot fix **/

1
मुझे पता चला कि यह समस्या अभी भी Xcode 6 Beta 5 में मौजूद है। किसी को भी यह अनुभव हुआ है?
18

2
मैं अपने प्रोजेक्ट में अभी इसी के साथ संघर्ष कर रहा हूं। iOS 7 और iOS 8 को Xcode 5 के उपयोग से बनाया गया है। iOS 8 Xcode 6 बीटा 6 का उपयोग कर बनाया गया iOS ठीक लग रहा है। iOS 7 को Xcode 6 बीटा 6 का उपयोग करके बनाया गया है जिसमें आपको बताई जा रही समस्या है। Reveal का उपयोग करके मैं देख सकता हूँ कि मेरा UICollectionViewCell ठीक से आकार ले चुका है। लेकिन सेल के contentView का आकार परिवर्तन नहीं किया गया था, भले ही यह माता-पिता हो, UICollectionViewCell में ऑटोरेस्ज़ सब-सब्जेक्ट हैं। स्टोरीबोर्ड के पास सामग्री दृश्य का आकार सेट है। मैं इस परियोजना में ऑटोलेयूट का उपयोग नहीं कर रहा हूं। मेरा प्रोजेक्ट पूरी तरह से ऑब्जेक्टिव-सी है।
डेल ब्राउन

2
मैं सिर्फ यह जोड़ना चाहता हूं कि यह मुद्दा अभी भी Xcode 6 / iOS 8 GM बीज के रूप में मौजूद है। @ contentViewसेल के साथ आकार लेने के लिए बाध्य करने के लिए डैनियलपल्मन का जवाब समस्या को हल करने के लिए ठीक काम करता है। मुझे लगता है कि आईओएस 8 में ऐप्पल ने इंटरफ़ेस बिल्डर (जो अभी भी एक ब्लैक बॉक्स का थोड़ा सा हिस्सा है) में निर्मित होने पर सेल सामग्री के विचारों को संभालने के तरीके के बारे में कुछ बदल दिया है। लेकिन यह तथ्य कि आईओएस 7 को लक्षित करते समय यह व्यवहार को बदलता है, निश्चित रूप से एक बग है।
स्टुअर्ट

एक्सकोड 6 जीएम, ऑटो लेआउट और एक नीब आधारित सेल के साथ यहां भी। मैं इसे contentViewकिनारों को सेल किनारों पर पिन करके ठीक करता हूं ।
सर्गीउउर

3
मैंने xcode 6.1 डाउनलोड किया है लेकिन अभी भी सिम्युलेटर में यही समस्या है।
हाइताओ ली

जवाबों:


169

contentView टूट गया है। यह awakeFromNib में भी तय किया जा सकता है

ObjC:

- (void)awakeFromNib {

    [super awakeFromNib];

    self.contentView.frame = self.bounds;
    self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}

Swift3:

override func awakeFromNib() {
    super.awakeFromNib()

    self.contentView.frame = self.bounds
    self.contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}

3
क्या स्वयं के बिना चाल चली गई ।contentView.frame = self.bounds; लगता है कि मुझे इसकी आवश्यकता है? फिर भी धन्यवाद!
मिशाल शतज

हैलो मिशल, आपसे सहमत हूँ। लेकिन यह सुनिश्चित करने के लिए 100% के लिए, यह अगले iOS में बेहतर कैसे काम करेगा, यह मुझे लगता है।
इगोर पालगुटा

5
मुझे यह उत्तर पसंद है लेकिन आपको फोन करने की आवश्यकता है [सुपर awakeFromNib]; इसके अलावा, मैं iOS 7.1 और उससे कम के चेक को जोड़ने के बारे में सोच रहा हूं, क्योंकि मुझे यकीन नहीं है कि ये आकार बदलने वाले मास्क iOS8 पर डिफ़ॉल्ट व्यवहार को कैसे प्रभावित करते हैं।
जिंजरब्रेडमेन

यदि आप nibs या स्टोरीबोर्ड का उपयोग नहीं कर रहे हैं, तो यह भी काम करता है यदि आप इसे applyLayout में डालें। विशेषताएँ:
cetcet

यह मेरे लिए काम नहीं करता है। मैं Autolayout का उपयोग नहीं कर रहा हूँ !! कोई सहायता?
thatzprem

61

मैंने उसी समस्या का सामना किया और मदद के लिए Apple DTS से पूछा। उनका जवाब था:

IOS 7 में, सेल्स के कॉन्टेंट व्यू ऑटोसाइजिंग मास्क के जरिए खुद को आकार देते हैं। IOS 8 में, इसे बदल दिया गया था, कोशिकाओं ने ऑटोरेस्सिगिंग मास्क का उपयोग करना बंद कर दिया और लेआउटसुब्यू में सामग्री दृश्य को आकार देना शुरू कर दिया। यदि एक नीब को iOS 8 में एनकोड किया गया है और फिर इसे iOS 7 पर डिकोड किया गया है, तो आपके पास एक ऑटोरेस्पोन्ग मास्क के बिना एक कंटेंट व्यू होगा और कोई अन्य माध्यम नहीं होगा जिसके द्वारा खुद को आकार दिया जा सके। इसलिए यदि आप कभी भी सेल के फ्रेम को बदलते हैं, तो सामग्री दृश्य अनुसरण नहीं करेगा।

IOS 7 में वापस आ रहे ऐप्स को इसके चारों ओर काम करना होगा ताकि कंटेंट व्यू को खुद ही आकार दिया जा सके, ऑटोरेस्पोन्डिंग मास्क को जोड़ा जा सके या बाधाओं को जोड़ा जा सके।

मुझे लगता है कि इसका मतलब यह है कि यह XCode 6 में बग नहीं है, लेकिन iOS 8 SDK और iOS 7 SDK के बीच एक असंगति है, जो आपको Xcode 6 में अपग्रेड करने पर आपको मार देगा, क्योंकि यह स्वतः ही iOS 8 SDK का उपयोग करना शुरू कर देगा।

जैसा कि मैंने पहले टिप्पणी की, डैनियल प्लामैन ने मेरे लिए काम का वर्णन किया। इगोर पालागुटा और कोकमोह्टा द्वारा वर्णित लोग हालांकि सरल लगते हैं, और ऐप्पल डीटीएस का जवाब देने के लिए समझ में आते हैं, इसलिए मैं बाद में कोशिश करूँगा।


यह दिलचस्प है, लेकिन मुझे अभी भी उम्मीद है कि वे इसे ठीक कर देंगे। यह व्यवहार केवल Xcode 6 GM में पेश किया गया था जिसमें iPhone 6 समर्थन जोड़ा गया था। यह पहले के दांव में ठीक काम कर रहा था। मैं भी एक परियोजना वापस लाया एक पुराने बीटा के बाद मैंने इसे देखा और यह उम्मीद के अनुसार काम किया। मुझे आशा है कि हर कोई इस मुद्दे पर Apple के साथ बग दर्ज करेगा।
आर्टन

@ कार्टन मैंने उसी दिन एक बग रिपोर्ट दर्ज की, जब मैंने डीटीएस से मदद मांगी। इसे 18312246 के डुप्लिकेट के रूप में बंद कर दिया गया था। यकीन नहीं होता कि यह कितना मदद करता है।
इकोटैक्स

मैंने ContentView को आकार देकर मेरे लिए काम का उपयोग किया है और मेरे लिए काम करता है। - (CGSize) collectionViewContentSize {रिटर्न CGSizeMake (self.collectionView.bounds.size.width, self.collectionView.bounds.size.height) लौटें; }
जेसु हर्टाडो

60

मुझे उसी मुद्दे का सामना करना पड़ा और मुझे आशा है कि Apple अगले Xcode संस्करण के साथ इसे ठीक कर देगा। इस बीच मैं एक वर्कअराउंड का उपयोग करता हूं। मेरे UICollectionViewCellउपवर्ग में मैंने केवल ओवरराइड किया है layoutSubviewsऔर आकार से भिन्न होने की स्थिति में सामग्री का मैन्युअल रूप से collectionViewCellआकार बदलता है ।

- (void)layoutSubviews
{
  [super layoutSubviews];

  BOOL contentViewIsAutoresized = CGSizeEqualToSize(self.frame.size, self.contentView.frame.size);

  if( !contentViewIsAutoresized) {
    CGRect contentViewFrame = self.contentView.frame;
    contentViewFrame.size = self.frame.size;
    self.contentView.frame = contentViewFrame;
  }
}

हाँ, मैंने इसी तरह के काम का इस्तेमाल किया था, लेकिन मैंने इसे cellForItem / cellForRow में किया, जो काम भी करता है।
thkeen

1
यह सबसे अच्छा उपाय है। CellForItem / cellForRow में इसे जोड़ने पर अजीब कलाकृतियों का कारण होगा यदि आप डिवाइस को घुमा रहे हैं और सेल का आकार बदल जाता है।
18

नमस्ते! मुझे इस कोड से समस्या हुई। अगर यह स्टोरीबोर्ड या प्रोटोटाइप सेल से लोड किया गया है, तो पहली बार, बूलियन कंटेंट व्यूआईआटोर्साइज्ड सही होगा। केवल जब आप एक पुनः लोड करते हैं, तो दूसरा यह सही होगा। इसलिए आपको वास्तव में आकार की जांच करने की आवश्यकता नहीं है। इसके बजाय बस करो: self.contentView.frame = self.bounds;
thkeen

पुष्टि की गई: हमें इसे सेलफ़ोर इटेम या सेलफ़ोररॉव में करना चाहिए क्योंकि सेल वापस आने के बाद ही लेआउटसुब्यू कहा जाता है। इससे पहले कि आप कुछ भी करते हैं जैसे कि ड्राइंग सामान गलत तरीके से गणना की जाएगी।
थक्केन

1
हम्म, शायद यह [cell layoutIfNeeded];सेलफ़ोरम या सेलफ़ोररॉव में रखना बेहतर है ?
वौट्सी

38

एक अन्य उपाय यह है कि ContentView का आकार और ऑटोरेस्पिरिंग मास्क -collectionView:cellForItemAtIndexPath:निम्नलिखित की तरह सेट करें :

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

     static NSString *cellID = @"CellID";

     UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath];

     // Set contentView's frame and autoresizingMask
     cell.contentView.frame = cell.bounds;
     cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin |UIViewAutoresizingFlexibleTopMargin |UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin;

     // Your custom code goes here

     return cell;
}

यह ऑटो लेआउट के साथ भी काम करता है, क्योंकि ऑटो आकार बदलने वाले मुखौटे का अनुवाद किया जाता है।


2
यह एक बेहतर समाधान है क्योंकि यह किसी भी प्रकार के सेल के साथ काम करता है बिना सबक्लासिंग के और जब आप अपने संग्रह दृश्य में एक से अधिक प्रकार के सेल का उपयोग कर रहे हैं तो कई स्थानों पर बदलाव की आवश्यकता नहीं होती है।
नैक्रॉस

6

Xcode 6.0.1 में UICollectionViewCell के लिए contentView iOS7 उपकरणों के लिए टूट गया है। इसे UICollectionViewCell और उसके contentView को awakeFromNib या init मेथड में उचित बाधाओं को जोड़कर ठीक किया जा सकता है।

        UIView *cellContentView = self.contentView;
        cellContentView.translatesAutoresizingMaskIntoConstraints = NO;

        [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[cellContentView]|"
                                                                     options:0
                                                                     metrics:0
                                                                       views:NSDictionaryOfVariableBindings(cellContentView)]];
        [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[cellContentView]|"
                                                                     options:0
                                                                     metrics:0
                                                                       views:NSDictionaryOfVariableBindings(cellContentView)]];

केवल अब यह काम करता है, आपको इसे केवल IOS 8 के लिए करना होगा, और मुझे प्रत्येक डॉक्यू के बाद इसे कॉल करना होगा! लेकिन यह भी आदर्श समाधान नहीं है क्योंकि कई चयन काम नहीं करते हैं क्योंकि इसे नेत्रहीन रूप से काम करना चाहिए ...
रेनेटिक

सबसे अच्छा यह है कि आप वास्तव में ऑटोलैयूट का उपयोग करें, इस बग के साथ आप साधारण मामले में
ऑटोलेयूट

मुखौटा मेरे लिए काम नहीं करता है; हालांकि बाधाओं की स्थापना काम करती है!
एंट्रोपिड

4

यह Xcode 6 GM में बग के कारण अन्य वर्णित वर्कअराउंड के बिना सही ढंग से काम नहीं करेगा कि किस तरह से Xcode फाइल को निब प्रारूप में संकलित करता है। हालांकि मैं 100% निश्चितता के लिए यह नहीं कह सकता कि यह एक्सकोड से संबंधित है और रनटाइम के साथ नहीं है, मुझे बहुत विश्वास है - यहां बताया गया है कि मैं इसे कैसे दिखा सकता हूं:

  1. Xcode 5.1 में एप्लिकेशन को बिल्ड + रन करें।
  2. सिम्युलेटर एप्लिकेशन की निर्देशिका पर जाएं और आपके द्वारा जारी किए जाने वाले xib के लिए संकलित .nib फ़ाइल की प्रतिलिपि बनाएँ।
  3. Xcode 6 GM में एप्लिकेशन बनाएँ + चलाएं।
  4. आवेदन बंद करो।
  5. Xcode 5.1 का उपयोग करके बनाई गई .nib फ़ाइल के साथ नवनिर्मित एप्लिकेशन के सिम्युलेटर फ़ोल्डर में .nib फ़ाइल बदलें
  6. सिम्युलेटर से ऐप को फिर से लॉन्च करें, न कि Xcode से।
  7. उस .nib से भरी हुई आपकी सेल अपेक्षा के अनुरूप काम करना चाहिए।

मुझे उम्मीद है कि जो कोई भी इस प्रश्न को पढ़ेगा, वह Apple के साथ एक राडार दाखिल करेगा। यह एक बड़ा मुद्दा है और अंतिम Xcode रिलीज से पहले संबोधित करने की जरूरत है।

संपादित करें: Ecotax की पोस्ट के प्रकाश में , मैं सिर्फ यह कहना चाहता था कि यह अब iOS 8 बनाम iOS 7 में निर्माण के बीच व्यवहार के अंतर की पुष्टि कर रहा है, लेकिन बग नहीं। मेरे हैक ने इस मुद्दे को तय कर दिया क्योंकि iOS 7 पर निर्माण ने इस काम को करने के लिए आवश्यक सामग्री दृश्य में ऑटोरेस्ज़िंग मास्क को जोड़ा, जिसे अब Apple नहीं जोड़ता है।


मुझे यकीन नहीं है कि अगर वे कानूनी रूप से जीएम संस्करण की तुलना में एक अलग xCode जारी कर सकते हैं
Mabedan

क्या वे जेल जाएंगे? = P लेकिन सभी गंभीरता से, सुनिश्चित करें कि वे कर सकते हैं। अगर आपको याद नहीं है तो उनके पास मावेरिक्स के कई जीएम संस्करण हैं। यह बहुत आम नहीं है, लेकिन ऐसा हो सकता है।
Acey

4

इस पोस्ट के काम में जवाब, क्या मैं कभी नहीं समझा है क्यों यह काम करता है।

सबसे पहले, दो "नियम" हैं:

  1. प्रोग्रामेटिक रूप से बनाए गए विचारों (एक्स। [UIView new]) के लिए, संपत्ति translatesAutoresizingMaskIntoConstraintsपर सेट हैYES
  2. इंटरफ़ेस बिल्डर में बनाए गए दृश्य, AutoLayout सक्षम होने के साथ, संपत्ति translatesAutoresizingMaskIntoConstraintsसेट के पास होगीNO

दूसरा नियम शीर्ष-स्तरीय विचारों पर लागू नहीं होता है जिसके लिए आप बाधाओं को परिभाषित नहीं करते हैं। (पूर्व सामग्री दृश्य)

स्टोरीबोर्ड सेल को देखते समय, ध्यान दें कि सेल का contentViewपर्दाफाश नहीं हुआ है। हम contentViewApple को "नियंत्रित" नहीं कर रहे हैं ।

स्टोरीबोर्ड स्रोत कोड में गहरा गोता लगाएँ और देखें कि contentViewसेल कैसे परिभाषित है:

<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">

अब सेल के साक्षात्कार (नोटिस translatesAutoresizingMaskIntoConstraints="NO"):

<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NaT-qJ-npL" userLabel="myCustomLabel">

contentViewयह है नहीं है translatesAutoresizingMaskIntoConstraintsकरने के लिए सेट NO। इसके अलावा इसमें लेआउट परिभाषा का अभाव है, शायद @ecotax ने जो कहा है

अगर हम इस पर गौर करें contentView, तो इसमें एक ऑटोसाइजिंग मास्क है, लेकिन इसकी कोई परिभाषा नहीं है: <autoresizingMask key="autoresizingMask"/>

तो दो निष्कर्ष हैं:

  1. contentView translatesAutoresizingMaskIntoConstraintsपर सेट है YES
  2. contentView एक लेआउट की परिभाषा का अभाव है।

यह हमें दो समाधानों की ओर ले जाता है जिनके बारे में बात की गई है।

आप मैन्युअल रूप से ऑटोरेस्‍टरिंग मास्क सेट कर सकते हैं awakeFromNib:

self.contentView.frame = cell.bounds;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

या फिर आप सेट कर सकते हैं contentView translatesAutoresizingMaskIntoConstraintsकरने के लिए NOमें awakeFromNibऔर में कमी को परिभाषित - (void)updateConstraints


4

यह @ इगोर के उत्तर का स्विफ्ट संस्करण है जिसे स्वीकार किया गया है और आपके अच्छे उत्तर वाले साथी के लिए धन्यवाद।

पहले अपना UICollectionViewCellसबक्लास गोटो और निम्न कोड पेस्ट करें क्योंकि यह कक्षा के अंदर है।

override func awakeFromNib() {
    super.awakeFromNib()
    self.contentView.frame = self.bounds
    self.contentView.autoresizingMask = [.FlexibleHeight, .FlexibleWidth]
}

वैसे मैं Xcode 7.3.1 और स्विफ्ट 2.3 का उपयोग कर रहा हूं। समाधान का परीक्षण iOS 9.3 पर किया गया है जो त्रुटिपूर्ण रूप से काम कर रहा है।

धन्यवाद, आशा है कि यह मदद की।


मेरी खराब अंग्रेजी के लिए खेद है, मेरा मतलब "आकर्षण की तरह काम करता है" :)
अज़निक्स

@Aznix कोई मुद्दा .. :)
onCompletion

2

स्विफ्ट में, संग्रह व्यू सेल उपवर्ग में निम्नलिखित कोड रखें:

override var bounds: CGRect {
  didSet {
    // Fix autolayout constraints broken in Xcode 6 GM + iOS 7.1
    self.contentView.frame = bounds
  }
}

यह वह उत्तर था जिसकी मुझे तलाश थी। मैं इस समस्या को ठीक करने के लिए Objective-C में setBounds को ओवरराइड करता था (यह स्विफ्ट में कैसे लिखना है यह निश्चित नहीं था)। धन्यवाद :)
मैथ्यू Cawley

1

मैंने पाया है कि contentViewआईओएस 8 में आकार देने के साथ भी कुछ समस्याएं हैं । यह चक्र में बहुत देर से बाहर निकलता है, जिससे अस्थायी बाधाएं पैदा हो सकती हैं। इसे हल करने के लिए, मैंने निम्नलिखित विधि को एक श्रेणी में जोड़ा UICollectionViewCell:

- (void)fixupContentView
{
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 80100
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
    if (NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_7_1) {
        self.contentView.frame = self.bounds;
        self.contentView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin |UIViewAutoresizingFlexibleTopMargin |UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin;
    } else {
        [self layoutIfNeeded];
    }
#endif
#endif
}

इस विधि को सेल को हटाने के बाद बुलाया जाना चाहिए।


यह आदर्श होगा यदि इस पद्धति को स्वचालित रूप से कहा जाता है। मुझे यह पसंद नहीं है, लेकिन यह ज़ोर से मारना हो सकता है dequeueReusableCellWithReuseIdentifier:forIndexPath:
फतमान

Apple Xcode 6.1 जीएम (बिल्ड 6A1042b) में iOS SDK के 8.1 संस्करण में इस समस्या को ठीक करने के लिए प्रकट होता है। इसलिए मैंने ऊपर दिए गए कोड को 8.1 एसडीके का उपयोग करते समय नहीं चलाने के लिए अद्यतन किया है। एक बार जब आपकी टीम सभी Xcode 6.1 में चली गई तो आप इस हैक को पूरी तरह से हटा सकते हैं।
फतमान

1

मैंने ऐसा करने का फैसला किया:

override func layoutSubviews() {
   contentView.superview?.frame = bounds
   super.layoutSubviews()
}

देखें: यहाँ


-1

बस यह सुनिश्चित करें कि आप उस संग्रह दृश्य सेल के लिए nib में चेक बॉक्स "ऑटोरेस्साइज़ सबव्यू" की जाँच करें। यह iOS 8 और iOS 7 दोनों पर ठीक काम करेगा।


नहीं, यह नहीं है। यह एक एम्बेडेड प्रोटोटाइप सेल है।
thkeen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.