小编n00*_*mer的帖子

如何以编程方式在动态文本中提供相同标签的不同字体颜色

嗨下面是我需要实现的视图UILabel.我听说过NSAttributedString但不确定如何使用它进行动态文本加载.

在此输入图像描述

整个文本字体是Roboto-Light.但是,我必须从前两位医生的API响应中替换文本'Andrew Murphy博士,John Smith',并从API获得"23位医生"的计数,以便相应地调整此标签.您可以看到的文本颜色取决于文本是常量还是动态.我不知道如何实现它.因此,一些代码片段真的很受欢迎.

谢谢!

objective-c nsattributedstring uilabel ios

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

MKMapSnapshotter从快照中删除"Legal"

我正在使用它MKMapSnapshotter创建一个UIImage小的截图MKMapView(并存储供以后使用).但我注意到的一件事是它从快照中删除了"Legal"标签.在这里,答案指出,删除"法律"是违反Apple政策的.这会影响我对应用商店的提交吗?或者它只是在地图中需要,而不是屏幕截图?

我检查了MKMapView和快照rect 的界限.没有区别,因此不可能被裁剪.

mapkit mkmapview ios mkmapsnapshotter

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

滚动UITableView时拉起键盘并与tableView一起滚动

要向键盘添加平移行为,我使用的是DAKeyboardControl.它可以很好地(修改后)用于关闭键盘的平移行为.

如果用户尝试向下滚动(手指向上平移),如何使键盘出现UITableView.具体而言,我正在寻找类似Facebook的消息应用程序,在这里,如果你向上滚动显示的键盘,具有平移,并滚动行为表.

编辑:似乎我不清楚我想要什么.我希望将键盘与scrollview()一起移动UITableView.在下图中,我正在将键盘与表格一起平移.该表已经滚动到它的底部,如果我尝试向下滚动键盘开始出现.与此同时,我的手指在桌子的中间.

在此输入图像描述

iphone uikeyboard ios

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

从UITabBarController多次调用NSNotification

我有一个UITabBarController,其中有4个标签。这些标签中的每个标签都是单独的UIViewController。我在这4个VC的每一个上都有一个对象,这些对象使用NSNotification来按某个对象时执行操作。4个VC都以相同的方式响应通知,因为它是每个页面上的相似对象。当按下此对象时,它将在当前视图控制器上显示一个视图。问题是,如果我现在移至其他3个选项卡中的任何一个,则该视图也位于其VC上。这是因为当在任何VC上按下通知时,所有4个选项卡上的通知都会得到响应。我需要它仅响应用户当前使用的VC,而不响应选项卡栏中的其他任何用户。

有没有办法使它正常工作?也许是一个阈值,您可以设置通知在被调用后可以执行其选择器的次数?这样,我可以将其设置为1,并且在任何给定时间(如果该通知被称为选择器)只能被调用1次。

我正在使用的对象实现类型要求我使用NSNotification,因此无法更改交互方式。

编辑:

viewDidLoad方法位于我的选项卡栏中4个VC的顶级VC上。它们全部4个都直接使用它或从中继承。

- (void) viewDidLoad
{
    ...
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didSelectItemFromCollectionView:) name:@"didSelectItemFromCollectionView" object:nil];
}
Run Code Online (Sandbox Code Playgroud)

动作处理程序:

- (void) didSelectItemFromCollectionView:(NSNotification *)notification
{
    NSDictionary *cellData = [notification object];

    if (cellData)
    {
        NewVC *pushToVC = [self.storyboard instantiateViewControllerWithIdentifier:@"PushToVC"];

        [self.navigationController pushViewController:pushToVC animated:YES];
    }
}
Run Code Online (Sandbox Code Playgroud)

4个VC中的每一个都是a,UITableViewController并且具有带有可按下对象的单元格。此NSNotificationCenter操作使操作得以执行。

objective-c uitabbarcontroller nsnotificationcenter ios

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

不支持的URL错误代码-1002

您好,请帮助我如何为以下api准备NSMutableURLRequest

网址:www.XXXXXXXX.com/api.php

登录:

www.XXXXXXXXXXXX.com/api.php?task=login

发布数据 :-

“ email” =>用户的电子邮件

“ pw” =>用户密码

json响应:成功登录后的会话ID

我正在尝试这样。

NSMutableURLRequest *request;

request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"www.XXXXXXXX.com/api.php?task=login"]];


[request setHTTPMethod:@"POST"];


NSString *postString =@"email=xxxxxxxx@gmail.com&pw=1234";

[request setValue:[NSString
                   stringWithFormat:@"%d", [postString length]] forHTTPHeaderField:@"Content-length"];

[request setHTTPBody:[postString
                      dataUsingEncoding:NSUTF8StringEncoding]];

NSURLConnection *connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

nsmutableurlrequest ios

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

使用UIDynamicAnimator水平动画UIView

我已经阅读了文档,我很尴尬地说我很困惑.

场景:

我有一个UIView,就像一个容器3 UIButtons.这个容器最初是边界的{0, 0, 35, 35},每个按钮里面都有相同的坐标(带alpha0).在用户的特定动作上,容器改变边界{0, 0, 100, 35},并且按钮分别用alpha1 动画到x-origin 5,35和65,使得它们在调整大小的容器内展开.我将此称为容器的展开状态.用户执行相同操作,将其切换回原始合同状态.

目标:

我目前正在使用[UIView animateWithDuration:]块进行此操作,但是想使用它UIDynamicAnimator来添加弹性效果,这样,当切换到展开状态时,容器会通过反弹调整大小(稍微调整大小,然后弹回到目标边界),按钮也会弹跳(向前移动一点,然后弹回到目标边界).

困惑:

UIDynamicAnimator,UIDynamicBehavior,UIAttachmentBehavior,UIDynamicItem.....所有这些都导致我的理解UIKitDynamic溢出.我想我应该使用UISnapBehavior,但我不知道如何去做.

uiview ios uikit-dynamics uidynamicanimator

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

全局,动态地替换(null)为'0'

我继承的项目有很多带字符串值的变量.他们的唯一目的是帮助检查某些事情是真是假.在整个程序中为这些变量分配的值是:

  • (null)
  • 0
  • any integer value > 0
  • true
  • false

有没有一种简单的方法可以确保无论何时(null)分配给它们,它都会自动被分配一个0FALSE相反.

这样if(...)条件将更容易处理.

iphone objective-c ios

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

不规则地保留NSNumber的数量

我在NSNumber整个应用程序(非ARC)中使用不同的语法.为了更加了解情况,我试着看看如何NSNumber保留s,具体取决于它们的初始化语法.所以我做了以下事情:

NSNumber* a = @1;
NSNumber* b = [[NSNumber alloc] initWithInt:2];
NSNumber* c = [NSNumber numberWithInt:3];

NSLog(@"%d | %d | %d", a.retainCount, b.retainCount, c.retainCount);
Run Code Online (Sandbox Code Playgroud)

这个代码片段是用按钮点击执行的,输出让我感到困惑(重复点击):

73 | 27 | 6
78 | 159 | 22
78 | 160 | 22
78 | 161 | 22
78 | 162 | 22
78 | 163 | 22
85 | 169 | 22
85 | 170 | 22
85 | 171 | 22
85 | 172 | 22
Run Code Online (Sandbox Code Playgroud)

现在这并没有真正的目的(至少在我的情况下不是这样),但我想知道这些 …

objective-c nsnumber ios retaincount

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

1 <-1评估为TRUE

在我的部分代码中,我正在编写一个简单的for循环来迭代数组中的元素(所有NSMutableDictionarys),并且我发现循环执行即使条件基本上是1 <-1.

所以我编写了以下代码,以测试此问题的有效性:

NSMutableArray* arr = [[NSMutableArray alloc] init];

NSLog(@"COUNT: %d | %i", arr.count, 1 < (arr.count - 1));
Run Code Online (Sandbox Code Playgroud)

输出是:

COUNT: 0 | 1
Run Code Online (Sandbox Code Playgroud)

这实际上意味着计数为0,并且1小于-1.

我想也许是因为数组是刚刚初始化的,可能添加和删除一个对象可能会改变这一点,所以我继续这样做:

NSMutableArray* arr = [[NSMutableArray alloc] init];

[arr addObject:@1];
[arr removeObject:@1];

NSLog(@"COUNT: %d | %i", arr.count, 1 < (arr.count - 1));
Run Code Online (Sandbox Code Playgroud)

结果仍然相同:

COUNT: 0 | 1
Run Code Online (Sandbox Code Playgroud)

我想到的可能原因是:

  • 有一些关于编译器/目标-C的东西,我还不明白
  • 我的Mac中的注册很困扰
  • 我正在失去理智

我非常怀疑它是最后两个案例中的哪一个,我仍然想知道为什么会这样.

objective-c ios

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