将子视图添加到自身和/或内容视图之间有什么区别?
子视图添加到自我
- (id)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) {
UIImage *img = [UIImage imageNamed:@”lol.jpg”];
UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
[self addSubview:imgView];
[imgView release];
return self;
}
Run Code Online (Sandbox Code Playgroud)
子视图已添加到contentView
- (id)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) {
UIImage *img = [UIImage imageNamed:@”lol.jpg”];
UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
[self.contentView addSubview:imgView];
[imgView release];
return self;
}
Run Code Online (Sandbox Code Playgroud) 我用不同高度的单元格制作了一个UITableView.在每个单元格上,我附加了一个accessoryView(UIImageView).
根据单元格的高度,accessoryType位置不同(参见附图).我该如何纠正?
在任何表格视图中似乎都是正常的.找不到答案.
谢谢你的帮助. http://i.stack.imgur.com/kKOn0.png
更新:我的cellForRowAtIndexPath:
NSDictionary *currentTime = [listOfTimes objectAtIndex:indexPath.row];
UITableViewCell *cell;
if([[currentTime objectForKey:@"freq"] intValue] > 0) cell = [self getCellFreqContentView:@"CellFreq"];
else cell = [self getCellContentView:@"Cell"];
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
UILabel *lblTemp1 = (UILabel *)[cell viewWithTag:1];
UILabel *lblTemp2 = (UILabel *)[cell viewWithTag:2];
if([[currentTime objectForKey:@"freq"] intValue] > 0) {
lblTemp1.text = [NSString stringWithFormat:@"%@\n\n%@", [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:[[currentTime objectForKey:@"arrival_time_seconds"] doubleValue]]],[dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:[[currentTime objectForKey:@"departure_time_seconds"] doubleValue]]]];
UILabel *lblTemp3 = (UILabel *)[cell viewWithTag:3];
UILabel *lblTemp4 = …Run Code Online (Sandbox Code Playgroud) 你如何在命令行上启动Swift?如何使用Swift 2.3在命令行上编译文件?自从我更新到Xcode 8后,我默认获得了Swift 3.
$ xcrun swift
Welcome to Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38). Type :help for assistance.
Run Code Online (Sandbox Code Playgroud) 我想知道为什么不建议通过构造函数直接实例化服务类.我找不到任何与之相关的东西.这是一个非常基本的例子:
服务类:
public class SomeRandomClass extends Service {
private final Context mContext;
public SomeRandomClass(Context context) {
this.mContext = context;
}
}
Run Code Online (Sandbox Code Playgroud)
并在主要活动/服务内:
SomeRandomClass class = new SomeRandomClass(this);
class.someMethod();
Run Code Online (Sandbox Code Playgroud)
这里的帖子指出,直接实例化服务不是一个好主意,startService()而是应该使用,但为什么呢?如果我像这样实例化我的服务,我直接对服务有变量,我可以调用方法而不必绑定到它,以便能够调用我的服务上的方法.
我可以通过使用看到的唯一优势startService()是Android跟踪我的服务,但缺点是我必须绑定到服务与它进行通信.另一方面,通过直接调用构造函数,我可以轻松地进行通信,但如果我的活动/服务被杀死/终止,那么"sub"服务也会被杀死(我没有使用活动而是使用其他服务).
为什么气馁呢?
iphone ×2
objective-c ×2
uitableview ×2
android ×1
cocoa-touch ×1
constructor ×1
ios4 ×1
service ×1
swift ×1