小编run*_*mad的帖子

UIView图层的内阴影效果?

我有以下CALayer:

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(8, 57, 296, 30);
gradient.cornerRadius = 3.0f;
gradient.colors = [NSArray arrayWithObjects:(id)[RGB(130, 0, 140) CGColor], (id)[RGB(108, 0, 120) CGColor], nil];
[self.layer insertSublayer:gradient atIndex:0];
Run Code Online (Sandbox Code Playgroud)

我想为它添加内部阴影效果,但我不太清楚如何做到这一点.我想我会被要求在drawRect中绘制,但是这会在其他UIView对象之上添加图层,因为它应该是一些按钮背后的条形图,所以我不知道该怎么做?

我可以添加另一个图层,但是再次,不知道如何实现内部阴影效果(如下所示:

在此输入图像描述

帮助赞赏......

iphone core-graphics calayer

91
推荐指数
9
解决办法
8万
查看次数

self.title设置navigationController和tabBarItem的标题?为什么?

我在UIViewController中为我的一个标签执行此操作:

self.title = @"Welcome";
Run Code Online (Sandbox Code Playgroud)

但是,它覆盖了我对tabBarItem的所有功能.我试过了:

self.tabBarItem.title = @"Home";
Run Code Online (Sandbox Code Playgroud)

和

[self.tabBarItem initWithTitle:@"Home" image:[UIImage imageNamed:@"iconHome.png"] tag:0];
Run Code Online (Sandbox Code Playgroud)

但仍然,self.title会覆盖tabBarItem,无论我是否在设置标题后尝试后两段代码.代码甚至运行没有错误,但是self.tabBarItem.title或者initWithTitle没有做任何事情?

iphone uinavigationcontroller tabbarcontroller

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

如何获得实际的[UIScreen主屏幕]框架大小?

我有点恼火.我有一个应用程序,状态栏在主窗口中可见.因为我想动态设置我的视图和框架大小(例如,在电话呼叫期间,状态栏可能占用40个像素).

我可以做两个中的一个:

[[UIScreen mainScreen] bounds];
[[UIScreen mainScreen] applicationFrame];
Run Code Online (Sandbox Code Playgroud)

真正烦人的是这两个输出两组不同的值,每个值同样无用.

bounds将输出:{{0, 0}, {320, 480}}while
applicationFrame将输出{{0, 20}, {320, 460}}

如您所见,bounds给出正确的y原点(0从状态栏的正下方开始)但是然后给出480的高度,这是不正确的.它应该是460,因为状态栏是可见的.然后我们applicationFrame开始在状态栏下面20个像素(所以有一个上限),但然后给出正确的高度.但是,当它被推下20像素时,这并不是很有用.

有帮助吗?

frame uiview uiapplication

48
推荐指数
2
解决办法
7万
查看次数

CLLocationManager和准确性问题 - 任何经验?

所以我正在处理iPhone GPS的一些准确性问题.我有一个使用位置的应用程序.

在委托方法中,locationManager: didUpdateToLocation: fromLocation:我正在返回一个位置.从一些研究来看,似乎GPS在返回的第一个结果上并不总是准确的,即使设置desiredAccuracy属性也是如此kCLLocationAccuracyBest.

为了解决这个问题,我不会stopUpdatingLocation在它返回newLocation:至少3次之前打电话(这很快).我还玩过两个关于是否stopUpdatingLocation返回的"要求" newLocation.我尝试的一种方法是检查lat和long newLocation并进行比较oldLocation,如果这些不相同,则保持位置更新运行.我也试图与检查之间的距离oldLocation和newLocation,如果它小于20米,它的罚款.这两个都是通过返回至少3次运行来测试的.后一种方式不那么"严格",因为如果用户在移动的车辆中,newLocation并且oldLocation很难与100%完全相同.

现在,我的问题是,即使在进行上述操作时(基本上不接受某个位置,直到发生一些更新并CLLocationManager检查CLLocations它们之间的距离(或者它们是否相同),我仍然看到有时奇怪的位置结果,在测试时.

如果我离开应用程序,进入Maps.app,使用GPS,然后打开多任务处理,强制退出我的应用程序,然后重新打开它以获得干净的启动,有时会修复.

人们习惯于解决同类问题的经验和可能的解决方案?评论和解决方案赞赏:)

cllocationmanager cllocation ios

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

UIScrollView只在一个方向禁用滚动?

我一直无法找到答案(也许有人一起破解了一个解决方案).

是否可以在一个方向上禁用UIScrollView中的滚动?我不是在谈论禁用垂直或水平滚动,而只是一个方向.例如,在UIScrollView中,我希望能够向下拖动滚动视图,但不能向上拖动

谢谢

uiscrollview

25
推荐指数
3
解决办法
2万
查看次数

更改dataSource后,UITableView无法正确刷新

我有一个带有几个数据源的UITableView.这是因为,我需要使用UISegmentedControl切换数据,如果我将它们添加为子视图,我就不能使用statusBar向上滚动等.

首先,我显示一个登录屏幕:

self.tableView.dataSource = loginTableView;
self.tableView.delegate = loginTableView;
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

然后,一旦用户登录,我执行以下操作以更改为索引:segmentedControler的1,这是他们的配置文件:

self.tableView.dataSource = profileTableView;
self.tableView.delegate = profileTableView;
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

但是,表视图更新,但两个dataSource之间有点混合.一些文本已经改变,一些是重叠的,而一些文本完全缺失.

有没有其他方法我应该更改UITableView的dataSource?

谢谢

iphone uitableview

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

如何:在UITabBarController中自定义选项卡时保存选项卡的顺序

我在查找除了如何保存UITabBarController的Tab键顺序的文档之外的任何其他信息时遇到问题,以便保存用户的自定义以便下次启动应用程序.我在网上搜索过,但一直找不到任何博客文章或文章通过正确的代码来执行此操作.

我意识到我必须使用UITabBarController的委托方法(didEndCustomizingViewControllers :),但我不确定在保存用户想要标签的顺序状态方面我最好如何处理持久性.

有人可以发布一些代码,指出我正确的方向,或者你有一个链接保存的东西?:)

谢谢

iphone uitabbarcontroller

11
推荐指数
2
解决办法
7086
查看次数

drawRect绘制'透明'文本?

我希望绘制一个UILabel(最好通过子类)作为透明标签,但具有坚实的背景.我画了一个简单的例子(对不起,这很难看,但它得到的分数:)).

基本上我有一个UILabel,我希望背景是一个设置颜色,文本应该是透明的.我不想用视图背景为文本着色,而是让它是100%透明的,因为我在背景中有一个纹理,我想确保标签内外的线条.

我一直在深夜浏览SO并在Google上搜索,但我找不到有用的消息来源.我对CG绘图没有太多经验,所以我很感激任何链接,帮助,教程或示例代码(也许Apple有一些我需要看一下?).

谢谢你!

在此输入图像描述

cgcontext uilabel drawrect

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

在MKMapView中隐藏"Legal"会导致App Store拒绝吗?

我在一个有点小方块中显示MKMapView.它足够小,"法律"文本几乎阻止了地图的一半,所以我想摆脱它.

这是允许的:

for (UIView *view in mapView.subviews) {
    if ([NSStringFromClass([view class]) isEqualToString:@"MKAttributionLabel"]) {
        view.hidden = YES;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

不确定我是否因隐藏或使用此方法而冒App Store拒绝的风险?

app-store mkmapview ios

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

在没有initWithEntity的情况下使用NSManagedObject类:?

我的问题类似于:创建NSManagedObject派生类时出现问题

我在Core Data中设置了一个NSManagedObject,并为它设置了一个类.但是,我不想创建一个相同的NSObject类,而是想使用NSManagedObject类,但我不想创建实体并保存它.我只想将它用于数组,只有当我需要在Core Data中保存对象时我才想使用它insertEntity:

Store*store = [[Store alloc] init];

它给了我以下错误: CoreData: error: Failed to call designated initializer on NSManagedObject class 'Store'

有没有办法让子类或以某种方式使用NSManagedObject类/属性来分配我刚刚临时用于表的对象?

谢谢.

core-data nsmanagedobject ios

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