我一直对应分配给的任务类型有点不清楚viewDidLoad对比viewWillAppear:在一个UIViewController子类.
例如,我正在做一个应用程序,我有一个UIViewController子类命中服务器,获取数据,将其提供给视图,然后显示该视图.什么是这样做的利弊viewDidLoad对比viewWillAppear?
我有一个带有项目列表的UITableView.选择一个项目会推送一个viewController,然后继续执行以下操作.从方法viewDidLoad我为我的子视图所需的数据启动了一个URLRequest - 一个覆盖了drawRect的UIView子类.当数据从云端到达时,我开始构建我的视图层次结构.有问题的子类传递数据,它的drawRect方法现在具有渲染所需的一切.
但.
因为我没有显式调用drawRect - Cocoa-Touch处理 - 我无法通知Cocoa-Touch我真的非常希望这个UIView子类呈现.什么时候?现在会好的!
我试过[myView setNeedsDisplay].有时这种方式有效.非常参差不齐.
我已经和它搏斗了好几个小时.有人请求我提供坚如磐石,保证强制UIView重新渲染的方法.
以下是将数据提供给视图的代码片段:
// Create the subview
self.chromosomeBlockView = [[[ChromosomeBlockView alloc] initWithFrame:frame] autorelease];
// Set some properties
self.chromosomeBlockView.sequenceString = self.sequenceString;
self.chromosomeBlockView.nucleotideBases = self.nucleotideLettersDictionary;
// Insert the view in the view hierarchy
[self.containerView addSubview:self.chromosomeBlockView];
[self.containerView bringSubviewToFront:self.chromosomeBlockView];
// A vain attempt to convince Cocoa-Touch that this view is worthy of being displayed ;-)
[self.chromosomeBlockView setNeedsDisplay];
Run Code Online (Sandbox Code Playgroud)
干杯,道格
关于在iPhone OS设备上管理内存的黑色艺术:不同级别的内存警告意味着什么.1级?2级?拨号盘是11吗?
背景:经过大量的内存压力测试期 - 包括在播放iPod音乐播放器应用程序时运行我的iPad应用程序,我倾向于忽略我收到的随机但不常见的内存警告.我的应用程序永远不会崩溃.永远.我的应用程序是无泄漏的.而且,mems警告似乎并不重要.
谢谢,
道格
在iPhone音乐应用程序中,选择"艺术家","歌曲"或"专辑"会在UI的右侧显示一个tableView,其中包含单个字母的垂直列表,可以快速滚动.如何在我的应用中启用此功能?
干杯,道格
我继承了一个中等规模的iOS项目 - 大约30,000行代码 - 拥有疯狂数量的图像资产.当然我们使用Git/Github来scm.目前,这些图像都包含在目录树中,因此被摄入到回购中,从中淹没了它,并且通常使开发成为一个令人头痛的问题.
我们在项目上有4个开发人员,有些是虚拟的.我发现将图像移动到Dropbox,从iOS项目中引用它们并保持形状.
有没有人对这个想法发表评论?你做什么处理Git scm设置中的图像/视频/音频文件?
我有一个父UIView有很多子视图.我需要定期删除子视图并将其从系统中完全删除.这样做的正确方法是什么?我试过这个:
UIView *v = [self.containerView viewWithTag:[n integerValue]];
[v removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
并得到一个奇怪的结果.之前的礼物也UIView消失了.这是怎么回事?
我有一个简单 - 琐碎的 - UIView父/子层次结构.一位家长(UIView).一个孩子(UIButton).父母边界小于孩子的边界,因此孩子的一部分延伸到其父母的边界框之外.
这就是问题:父母的bbox之外的孩子的那些部分没有接触到.只有在父级的bbox内点击才允许子按钮接收触摸.
有人可以建议修复/解决方法吗?
对于那些关注这个问题的人,这里是我实施的@Bastians最优秀答案的解决方案:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
BOOL isInside = [super pointInside:point withEvent:event];
// identify the button view subclass
UIButton *b = (UIButton *)[self viewWithTag:3232];
CGPoint inButtonSpace = [self convertPoint:point toView:b];
BOOL isInsideButton = [b pointInside:inButtonSpace withEvent:nil];
if (isInsideButton) {
return isInsideButton;
} // if (YES == isInsideButton)
return isInside;
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含一行子类的UIView UIView.子类已重写drawRect:并已设置 contentMode = UIViewContentModeRedraw.
当用户child views挤压并拉伸父容器时,挤压和拉伸.随着形状发生变化,我想drawRect反复调用以改变内容child views.到目前为止,我一直没有成功.这样做的正确方法是什么?
干杯,
道格
有人可以为我提供GitHub协作的备忘单,以便两个希望平等访问/拥有回购权的团队.我对使用分叉的需要感到困惑,这对于一个分散开发的大型开源项目来说似乎有意义,但是当我和我的搭档相距10英尺时看起来有点像矫枉过正.
谢谢,
道格
我有一个Bootstrap模式对话框,我想要布局各种标签和输入.我尝试过使用行/列类,但它们似乎没有做任何事情.我有什么选择?
谢谢,
道格
ios ×5
uiview ×4
cocoa-touch ×2
github ×2
iphone ×2
objective-c ×2
git ×1
hittest ×1
ipad ×1
modal-dialog ×1
subview ×1
uikit ×1
uitableview ×1
urlrequest ×1
viewdidload ×1
warnings ×1