小编say*_*guh的帖子

为什么我的UIButton.tintColor不起作用?

我的构建目标设置为IOS5,这是我理解的UIButton.tintColor介绍...

我在视图控制器的viewDidLoad中有这个

[timelineButton setTintColor:[UIColor blackColor]];
[timelineButton setTitle:@"test" forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

文本更改正常,但按钮不是黑色?

谢谢!

uibutton ios

44
推荐指数
5
解决办法
5万
查看次数

SQLite数据库中由Core Data创建的Z_ENT列是什么?

当您将Core Data与SQLite数据库一起用作底层数据存储时,核心数据将自动生成一些列...

其中一个是"Z_ENT",另一个是"Z_OPT"

我相信"Z_OPT"是记录被改变的次数.谁能告诉我Z_ENT的用途?

谢谢!

core-data objective-c

19
推荐指数
1
解决办法
4616
查看次数

你可以在iOS应用程序中全局禁用轮换吗?

我有一个由很多视图控制器组成的应用程序......在项目摘要中,我将纵向方向设置为唯一受支持的设备方向.

但是,当转向侧面时,应用程序仍然会搞砸.

我的问题是,有没有办法通过app委托或其他方式全局禁用自动旋转?

或者我是否必须进入所有视图控制器并添加"shouldAutorotateToInterfaceOrientation"方法?

只是不想错过将它添加到一个或一个......

谢谢!

xcode ios

19
推荐指数
4
解决办法
3万
查看次数

MKMapView userLocation在模拟器中显示0,0?

我的视图(MKMapViewDelegate)上有一个mapView插座,启用了"显示用户位置".

在我的控制器的viewdidload中

CLLocation *userLoc = mapView.userLocation.location;
CLLocationCoordinate2D userCoordinate = userLoc.coordinate;
NSLog(@"user latitude = %f",userCoordinate.latitude);
NSLog(@"user longitude = %f",userCoordinate.longitude); 
mapView.delegate=self;
Run Code Online (Sandbox Code Playgroud)

模拟器在地图上显示正确的用户位置(我在IOS模拟器中使用自定义位置)

但NSLog显示纬度和经度为0和0.

我不应该在模拟器中获得自定义经度和纬度吗?

更新与答案:

需要实施

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    self.mapView.centerCoordinate = userLocation.location.coordinate;
} 
Run Code Online (Sandbox Code Playgroud)

mkmapview ios

11
推荐指数
1
解决办法
4584
查看次数

Interface Builder改变文本颜色错误?

这让我开车香蕉..

如果我在界面构建器中选择UITextField并通过手动输入RGB值来更改文本颜色,则会更改整个框架和背景的颜色.

但是,如果我使用滑块更改它,它只会像我想要的那样更改文本颜色.

导致我认为它是一个错误......这是否会发生在其他人身上?

xcode interface-builder xcode4.3

7
推荐指数
1
解决办法
3467
查看次数

MKPointAnnotation - 默认显示标题和动画?

在我的viewWillAppear中我有一个视图

MKPointAnnotation *point = [[MKPointAnnotation alloc] init];

[point setCoordinate:(myLocation)];
[point setTitle:@"Here it is!"];

[mapView addAnnotation:point];

[mapView setRegion:adjustedRegion animated:YES]; 
Run Code Online (Sandbox Code Playgroud)

这就像我想要的那样为地图增加了一点.但是我必须点击它才能看到标注.

如何默认显示标注?

我尝试在以下之后添加: [self.mapView selectAnnotation:annotation animated:YES];

但它似乎没有用......我必须使用真正的注释而不是MKPointAnnotation来做到这一点吗?

mapkit ios ios5

6
推荐指数
1
解决办法
7318
查看次数

重命名/重构视图控制器

我使用本教程重命名视图控制器 http://iosdeveloperzone.com/2011/05/14/how-to-rename-a-class-using-refactoring-in-xcode-4/

基本上只需切换到Symbol Navigator视图,单击视图控制器,然后单击编辑>重构>重命名

工作得很好!

但是,当我现在去符号导航器时,我新命名的视图控制器不再显示了吗?

为什么它会消失?如果我想再次重命名该怎么办?

谢谢!

xcode ios xcode4.3

5
推荐指数
1
解决办法
1万
查看次数

sqlite3_open总是返回SQLITE_OK?

对此感到好奇......似乎即使我将pathForResource更改为@"fadfdasfa"或其他不存在的名称,我仍然记录"数据库已打开"?

sqlite3 * myDatabase;

NSString *path = [[NSBundle mainBundle] pathForResource:@"carsdatabase" ofType:@"db"];

    if (sqlite3_open([path UTF8String], &myDatabase) == SQLITE_OK)
        NSLog(@"Database Opened");
    else 
        NSLog(@"Failed to Open");
Run Code Online (Sandbox Code Playgroud)

sqlite objective-c

4
推荐指数
2
解决办法
4551
查看次数

为什么我只能在枚举之外添加手势识别器?

我正在尝试为我的IBOutletCollection UIButtons中的所有8个按钮添加手势识别器.

for (UIButton *stockButton in stockButtonCollection) {
    [stockButton addGestureRecognizer:longpressGesture];
}
Run Code Online (Sandbox Code Playgroud)

似乎这应该对我有用......但事实并非如此.

但是,如果我在循环下面添加这个

[[stockButtonCollection objectAtIndex:0] addGestureRecognizer:longpressGesture];
Run Code Online (Sandbox Code Playgroud)

那它有效吗?

谁能解释一下?谢谢!

更新: 嗯,我可以看到它实际上不是枚举问题..如果在循环下面我添加:[[stockButtonCollection objectAtIndex:0] addGestureRecognizer:longpressGesture]; [[stockButtonCollection objectAtIndex:1] addGestureRecognizer:longpressGesture];

手势识别器仅应用于第二个(objectAtIndex:1),并且不适用于第一个.基本上它只适用于我添加它的最后一个.

任何人都可以解释为什么会这样,我怎么做我想做的事情?:) 谢谢

更新2: 好的,这是我的longpressGesture处理程序

- (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer {

UIButton *myButton = (id)gestureRecognizer.view;

[myButton setEnabled:NO];
}
Run Code Online (Sandbox Code Playgroud)

所以我想这与单个手势识别器被发送或其他东西有关.我不完全理解它,但有人知道如何做我正在尝试的事情吗?如果按住,我希望所有8个按钮都禁用

更新3 啊,忽略了发布我的手势识别器初始化...这里是

UILongPressGestureRecognizer *longpressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)];
longpressGesture.minimumPressDuration = 3;
[longpressGesture setDelegate:(id)self];
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c

1
推荐指数
1
解决办法
492
查看次数

在快速枚举问题期间设置对象

大约一天前我发布了这个问题:对枚举感到困惑......如何在枚举期间更改对象?

我了解到我可以在枚举期间调用对象上的方法,但是如果我使用"="运算符进行分配,那么它会创建一个新对象(不是我想要的).

链接的问题显示了如何在NSString对象的数组上使用setString ...但现在我的问题是自定义对象

这就是我想要做的

for (Car * car in self.carsArray)
{
    if (car.name == nil){
      car = [self getrandomCar];         
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,"="运算符对我不起作用...是否有某种类型的方法可以像这样使用?

[car setObject:[self getrandomCar];
Run Code Online (Sandbox Code Playgroud)

谢谢!

objective-c

0
推荐指数
1
解决办法
921
查看次数

无法比较两个NSDates

在这里感到困惑...我有两个日期,我NSLog控制和获取:日期是 2011-03-30 13:33:57 +0000 - 2011-03-28 13:33:57 +0000

一个日期明显晚于另一个......但是,在下面的代码中,如果我使用[dateUSERPREFS laterDate:dateXML]或者[dateUSERPREFS earlierDate:dateXML]在控制台中显示"我们得到第一个IF" 并不重要?

有任何想法吗?谢谢,

NSDate *dateXML = [df dateFromString:last_modifiedXML];
NSDate *dateUSERPREFS = [df dateFromString:last_modifiedUSERPREFS];

NSLog(@"dates are %@ - %@", dateXML, dateUSERPREFS);

if ([dateUSERPREFS laterDate:dateXML]) {        
    NSLog(@"we get first IF");
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsdate ios

0
推荐指数
1
解决办法
572
查看次数