请原谅我缺乏Photoshop技能,但我很好奇Facebook和AP Mobile News等应用程序在其应用程序中使用的"标签滑块"是什么类型的策略.这是一个快速的片段,概述了我正在谈论的内容,因为我确定我正在标记该实用程序的名称正在被屠杀:http://dl-client.getdropbox.com/u/57676/slider.jpg
用户基本上可以触摸标签并沿X轴滑动.一旦碰到边缘,它也具有平滑的弹跳效果.如果您需要在屏幕上显示的内容比您的肖像模式允许的更多,那么这会产生更多的空间,因此非常有价值.
是否只是通过一点Touch API + Core Animation创建比屏幕宽的UILabel?希望能够深入了解如何开始解决这个问题.
我有几行简单的代码,如下所示:
NSData *dataReply;
NSString *stringReply;
dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
stringReply = [[NSString alloc] initWithData:dataReply encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
这里的问题是,initWithData:encoding:不会像文档声称的那样返回NSString的实例.我尝试使用(NSString*)进行显式转换,但没有太多运气.当我尝试将stringReply传递给我用类型不匹配编写的方法时,这给了我编译器警告.鉴于我将所有警告都视为错误,我真的很想了解返回的是什么是stringReply以及如何将其强制为NSString类型.
在编写抽象类或者没有直接实例化的类时...你是否倾向于在抽象类中编写dealloc方法并在适当的时候释放,然后允许孩子调用[super dealloc]然后担心他们只添加了不属于超类的实例变量?
你们如何用抽象类来管理内存?
我正在考虑以下几点:
@interface ClassA : NSObject {
NSArray *foo;
}
@end
@implementation ClassA
- (void) dealloc {
[foo release];
[super dealloc];
}
@end
@interface ClassB : ClassA {
NSArray *bar;
}
@end
@implementation ClassB
- (void) dealloc {
[bar release];
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)
请原谅任何语法错误,我只是在飞行中写下来.以上是否有意义或内存管理方式有何不同?GC不是一个选项,因为我在iPhone上这样做.
在他们关于Singleton示例的Apple文档中,我确实知道有一种方法可以对猫进行换肤 - 但为什么他们还要确保将实例注册为静态?
取自:http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_10.html
我指的是:
static MyGizmoClass*sharedGizmoManager = nil;
我有一个扩展UITableViewCell的类.出于本练习的目的,我们称之为"CustomCell".在CustomCell中,我有一个UIImageView IBOutlet设置.在这种情况下,图像实例名称是myImage.我希望根据从服务器返回的某些条件显示此图像.该数据是一个字典,在本练习中我们称之为"serverData".首先,UITableView渲染得很好,UIImageView显示在它应该的单元格中.当我开始滚动实际的UITableView时,会出现问题,图像丢失.不知何故,它不适合缓存或出列.不确定问题出在哪里或如何更好地改进此代码.这是一段摘录:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell"
owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSDictionary *serverData = myData // previously defined.
if ([[serverData valueForKey:@"foo"] isEqualToString:@"0"])
cell.myImage.hidden = YES;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
Run Code Online (Sandbox Code Playgroud) 如果我以这种方式声明一个指针变量:
NSString *foo;
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中的某个地方执行以下操作:
foo = @"bar";
Run Code Online (Sandbox Code Playgroud)
这最终是我的NSString,在内存中创建一个带有附加字符串的新副本,然后删除我的初始字符串?作为NSMutableString,foo会更好吗?
我正在看一些开源项目,我看到以下内容:
NSLog(@"%s w=%f, h=%f", #size, size.width, size.height)
Run Code Online (Sandbox Code Playgroud)
在尺寸符号之前,'#'究竟是什么意思?这是C字符串的某种前缀吗?
cocoa cocoa-touch objective-c stringification c-preprocessor
有没有人有一个如何绘制Apple的邮件应用程序中使用的蓝色"未读点"的例子?具体如下:

使用Quartz2d绘制椭圆是直截了当的,但是使用阴影+渐变的微妙使用看起来真的是3D.
我确切地知道我想在UIView中放置UILabel的位置,但是我不一定知道我希望它在编译时具有什么高度/宽度,所以在initWithFrame中设置宽度/高度是没用的.我希望能够初始化它的x,y点,然后使用类似[myLabel sizeToFit]的东西,这样它就可以根据我的休息模式和内容自动设置宽度/高度.
我正在寻找的解决方案是如何设置UILabel的原点,同时根据设置为标签的文本将其宽度/高度设置为动态数字.
正如标题所说,为什么Core Data会为每个实体的属性创建具有属性的NSManagedObject实例,但是没有附带的实例变量?问题是,我想在我的代码的某些部分以典型的alloc/init样式使用我的一些"实体".不使用Core Data的提取/上下文来创建/存储.
我想我可以保持没有实例变量,但添加它们会不会受到影响?我还可以将@dynamic更改为@synthesize,以便在我的属性/ ivars上使用KVC吗?
也许我完全错误地尝试在我的代码的某些部分使用我的一个核心数据实体而不使用核心数据API.当我可以走自己的路线时,仍然是新手.