草庐IT

iOS 创建可重用 View 的问题

我正在尝试使用nib和附带的.h/.m文件创建自定义View,然后通过IB创建该View的多个实例,并将它们用作另一个View的subview。我创建了.h/.m文件我创建了xib。对于xib,我在IB中指定类名。向xib添加一些标签(其值将以编程方式更改)我将Storyboard中的一个简单View拖到我的容器View中。我将拖动View的类设置为我为xib指定的类。我多次执行第5步和第6步,每个View一次。最终我会将这些View连接到父View类上的IBOutlets。显然我做错了什么,因为我没有在自定义View中看到我的标签。我怀疑我需要将Nib直接与View相关联,就像您对集

ios - UICollectionView 重用单元格问题

我对CollectionView单元格有疑问。当我的CollectionView首次加载时,它会显示如下项目:-(UICollectionViewCell*)collectionView:(UICollectionView*)cvcellForItemAtIndexPath:(NSIndexPath*)indexPath;{CalendarCell*cell=[cvdequeueReusableCellWithReuseIdentifier:@"CalendarCell"forIndexPath:indexPath];[cellbindDate:_datesMgr.currentMon

ios - UITableViewCell 单元重用和 UILabel 自动布局动态调整大小

我正在使用一个子类化的UITableViewCell,我需要在使用自动布局时将UILabel的文本对齐到左上角。我意识到阅读sizeToFit真的不应该与自动布局一起使用,我想避免它,并以某种方式使用约束。基本上,标签的文本在每次重复使用单元格时都会重置,因此大小调整需要在重复使用时动态调整。这是子类单元格中的延迟初始化器标签:-(UILabel*)commentsLabel{if(_commentsLabel==nil){_commentsLabel=[[UILabelalloc]init];[_commentsLabelsetTranslatesAutoresizingMaskIn

iphone - iOS 如何将可重用代码打包到可重用的 UI 小部件中?像经过大量修改的文本小部件?

iOS如何将可重用代码打包到可重用UI小部件中?像经过大量修改的文本小部件?我构建了一个UITextView,它具有许多特定于我的应用程序的自定义功能(点击网络服务器以获得一些特殊的宏功能,具有特殊的自动完成字典等......)我想在我的iOS应用程序的多个屏幕中重复使用这个特殊的文本条目。我怎样才能巧妙地将这段代码打包起来,以便它可以像UITextView可以重用一样简单地使用? 最佳答案 您可以创建一个将UITextView作为父类(superclass)的类,该类也将是实现您的功能以支持自定义功能的地方,并且您的类将直接使用而

iphone - 使用 GCD 重用 UITableViewCell

我正在使用GrandCentralDispatch异步加载UITableViewCell的图像。除了在单元格被重复使用并且前一个block加载错误图像的某些边界情况外,这工作得很好。我当前的代码如下所示:-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifier=@"Cell";UITableViewCell*cell=[tableViewdequeueReusableCellWithIden

ios - 如何像 UITableViewCell 一样重用 UIView

我有一个应用程序,其中包含多个相同UIView的实例。他们是像UITableViewCell一样重用UIView的方法吗?类似于:UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:CellIdentifier]; 最佳答案 我建议您观看WWDC的1042010session,名为“使用ScrollView设计应用”,其中解释了重用机制(IIRC)。也可以看看OHGridView的出处我在其中实现了这项技术:查看OHGridView.m中的第二个layou

iphone - iOS 应用程序中的代码重用

我是ios开发的新手,我才刚刚开始开发我的第一个应用程序。现在我的应用程序几乎在每个页面上都有一个主页按钮,在该按钮后面调用相同的代码片段以移动到主屏幕。每个Controller都有一个主页按钮,这是很多重复的代码。这只是一个例子。还有很多其他类似的场景,程序员仍在学习编码,我认为这是不好的做法,因为任何更改都必须在每个Controller上单独进行。所以我的问题是,在为ios编码时,在这种情况下的最佳实践是什么? 最佳答案 在这种情况下,一件容易做的事情是创建一个UIViewController子类(例如MyAppMasterVC

ios - 我怎么能不使用原型(prototype)单元标识符重用单元 BUT

我知道我不能通过不调用此方法来重用单元格:UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:@"SomeID"]基于可用的描述here.但是如果我使用的是原型(prototype)单元格呢?因为如果我不指定原型(prototype)单元格的标识符,我的表格View只会显示空白单元格。 最佳答案 从缓存中提取单元格后,您应该立即重置方法中正在处理的所有内容。然后继续设置特定指数的卖出。例如:UITableViewCell*cell=[tableViewde

ios - 重用 UIWebView 导致崩溃

我了解到重用UIWebViews是一种不好的做法。我在工作中继承的一些代码正在将各种内容推送到UIWebView。Powerpoint、Word文档和视频。这在正常情况下一切正常。当我们太快地切换UIWebView中的内容时,它会转储。我的webView被设置为一个属性。它在IB中连接得很好。从我们的tableView中正常选择加载本地内容就好了。需要快速选择同一单元格或多个单元格的组合才能使其崩溃。我可以为webViewDidFailWithError捕获一些错误消息。但即使没有崩溃,这些也会触发。这是错误的本地化字符串。Theoperationcouldn’tbecompleted

ios - 如何确定 dequeueReusableCellWithIdentifier 返回的单元格是否在 iOS 6 中被重用?

我正在向cellForRowIndexPath中的单元格添加项目(例如手势识别器、subview)。如果单元格被重复使用(大概),我不想添加这些,那么有没有一种方法可以轻松判断单元格是新的还是正在重复使用?单元格原型(prototype)在Storyboard中定义。我没有为单元格使用自定义子类(看起来有点矫枉过正)。我正在使用单元格标签来识别subview,所以不能使用它。我可以使用iOS6之前的方法,但肯定有更好的方法来完成如此简单的事情?我在网上找不到任何东西,所以担心我可能对某些东西感到困惑-但很难搜索。 最佳答案 解决此问