我有一个带缩放和平移的UIScrollView.我希望图像在用户命令后滚动到中心.我的问题在于计算图像中心的框架的大小和位置.
有谁知道如何为我的图像中心计算正确的帧?问题是如果zoomScale不同,则帧会发生变化.
谢谢!
我最近观看了WWDC 2010视频之一:Session 311 - 使用Instruments进行高级内存分析.链接在这里.
有关寻找遗弃记忆的视频中有一个有趣的例子.他们说调试通常比泄漏更重要,但可能更难.
Abandoned Memory被定义为"从未再次使用的可访问分配的内存".
泄漏定义为"无法再访问已分配的内存".
查找Abandoned Memory的主要方法是使用Allocations工具进行堆镜头.
但是,在确定我在代码中放弃了内存之后,我发现很难确切地知道它来自哪里.
我正在寻找一些很好的技巧或资源来寻找被遗弃的记忆.
谢谢!
我正在为一个相当复杂的表实现一个自定义的searchBar,并且遇到了这种代码模式.这是来自Beginning iPhone Development书的一个示例:
- (void)handleSearchForTerm:(NSString *)searchTerm
{
NSMutableArray *sectionsToRemove = [[NSMutableArray alloc] init];
[self resetSearch];
for (NSString *key in self.keys)
{
NSMutableArray *array = [self.names valueForKey:key];
NSMutableArray *toRemove = [[NSMutableArray alloc] init];
for (NSString *name in array)
{
if ([name rangeOfString:searchTerm
options:NSCaseInsensitiveSearch].location == NSNotFound)
[toRemove addObject:name];
}
if ([array count] == [toRemove count])
[sectionsToRemove addObject:key];
[array removeObjectsInArray:toRemove];
[toRemove release];
}
[self.keys removeObjectsInArray:sectionsToRemove];
[sectionsToRemove release];
[table reloadData];
}
Run Code Online (Sandbox Code Playgroud)
我很好奇的部分是"for(NSString*数组中的名字)"部分.这到底是做什么的?它似乎为数组中的每个项创建一个字符串.此外,这如何与字典一起使用?
谢谢!
在处理复杂问题时,我发现自己尝试了各种各样的解决方案,并且在尽力保持井井有条的情况下,代码可能会变得非常混乱.对象可能会被更改,不再有用,而有时我可能会添加一些代码片段,这些代码片段最终不会被程序使用,但会占用空间和可能的内存.
除了仔细阅读该程序之外,是否有方法可以找到程序未使用的代码块?
您在清理程序时发现了哪些提示?
我发现用于检查.h文件中的对象仍然在应用程序中使用并检查它们是否已正确释放/释放的一个小技巧是使用"搜索全部"功能(cmd-shift-F)并搜索对象的名称
在Objective-C中,这一点点语法对我来说有点混乱.
什么时候应该调用self.myObject vs只调用myObject?
这似乎是多余的,但它们不可互换.
有人请赐教吗?
我认为标题解释了这一切.当用户滚动到tableview的顶部时,我希望收到通知.
我试过以下没有运气,甚至在.h文件中添加了UIScrollViewDelegate.
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
NSLog(@"ScrolledToTop");
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:如果按状态栏,我可以拨打电话.但如果我滚动到顶部则不行.很奇怪......它可能与桌面视图在到达顶部时弹跳有关吗?
我使用NSPredicate通过州和国家列表过滤NSDictionary.
所有数据都以逗号分隔的数组存储:@"Alabama",@"Alaska",@"Arizona",@"Arkansas",@"California",@"Colorado"等
但是,有两种情况发生重复.州"新墨西哥州"包含"墨西哥"一词,"阿肯色州"包含"堪萨斯州"一词.
这是我用来定义谓词的基本代码.
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Location contains[c] %@", @"Kansas"];
Run Code Online (Sandbox Code Playgroud)
我如何确保"堪萨斯"不会返回"阿肯色州"的物品?使用BEGINSWITH或LIKE不起作用,因为列表以其他状态开头.
谢谢!
UIWebView可用于显示各种文件类型(例如:a.xls .key.zip .numbers.zip .pages.zip .pdf .ppt .doc .rtf .rtfd.zip .key .numbers和.pages) .
我正在研究我的应用程序的"如何使用此应用程序"部分,并希望找到一个好的文件类型(本地存储),用于在UIWebView中显示一些文本和图像.
问题是缺乏对最终结果的控制.例如,文本大小似乎对.rtf或.doc文件没有影响.我想对文本和图像属性进行合理的控制.我可以使用pdf,但我不喜欢pdf的框架方式,使屏幕上的所有内容都小得多.
有没有人有任何在UIWebView中显示各种文件类型的经验.什么文件类型可以对最终结果进行良好的创意控制?
是否可以#define在"if"语句中使用?以下代码有效,但我收到一条警告,即宏正在重新定义.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
#define TableViewHeight 916
#define DisplayHeight 1024
#define DisplayWidth 768
}
else {
#define TableViewHeight 374
#define DisplayHeight 480
#define DisplayWidth 320
}
Run Code Online (Sandbox Code Playgroud)
我也试过这个,但它没有用:
#ifdef UIUserInterfaceIdiomPad
#define TableViewHeight 916
#define DisplayHeight 1024
#define DisplayWidth 768
#else
#define TableViewHeight 374
#define DisplayHeight 480
#define DisplayWidth 320
#endif
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我一直在运行对MacRuby的引用,并想知道你是否有人用它来进行iPhone/Objective C编程.
MacRuby网站称,"MacRuby的目标是创建功能齐全的Mac OS X应用程序,这些应用程序不会牺牲性能以享受使用Ruby带来的好处."
所以,我的问题是:Ruby的好处是什么?
而且,更重要的是,有哪些限制?
iphone ×8
objective-c ×6
ios ×3
uiscrollview ×2
arrays ×1
center ×1
dictionary ×1
filter ×1
loops ×1
macos ×1
memory ×1
memory-leaks ×1
nspredicate ×1
ruby ×1
self ×1
uitableview ×1
uiwebview ×1
xcode ×1
zoom ×1