小编pro*_*rmr的帖子

同时拥有NSMutableString和NSString的目的是什么?

为什么Objective C提供类NSString和子类NSMutableString而不仅仅提供NSMutableString?NSString不等同于"const NSMutableString"吗?

在C++中,你只有一个字符串类,std :: string,如果你想要一个常量,你可以声明一个const std:string.

我有兴趣知道为什么我不应该只在任何地方使用NSMutableString并且从不打扰NSString?必须有一个理由,或者语言设计师不会同时提供这两个原因.也许它占用更少的存储空间?

objective-c nsstring

5
推荐指数
2
解决办法
2480
查看次数

如何转换相对于特定视图的窗口坐标?

示例:我在窗口坐标中有一个CGPoint:

CGPoint windowPoint = CGPointMake(220.0f, 400.0f);
Run Code Online (Sandbox Code Playgroud)

aView超级视图的超级视图中有超级视图.在视图层次结构深处的某个地方,甚至可能转换了几次.

当你得到一个UITouch时,可以询问它-locationInView:它将返回相对于该视图的坐标.

我需要几乎相同的东西.有没有简单的方法来实现这一目标?

iphone coordinates uiview

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

iOS如何始终保持当前的位置中心

我的地图显示当前位置有蓝点.当然,当我移动时,蓝点移动..我只是想一直保持地图的蓝点中心,使地图移动而不是谷歌地图导航器..

我搜索了很多但找不到方法......

iphone core-location mkmapview ios

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

如何触摸UITableViewCell外部的某些内容?

此问题类似,我有一个UITableViewCell的自定义子类,它有一个UITextField.当用户触摸不同的表视图单元格或表格外的某些东西时,除了键盘之外它的工作正常不会消失.我正在试图找出最好的位置来找出单元格外部的东西,然后我可以在文本字段上调用resignFirstResponder.

如果UITableViewCell可以接收其视图之外的触摸事件,那么它可能只是resignFirstResponder本身,但我没有看到任何方法在单元格中获取这些事件.

编辑:我在我的UITableViewCell子类中尝试了这个(下面),但它不起作用,我认为因为如果事件由控件处理,touchesBegan:withEvent:不会被调用.我想我需要在他们以某种方式向响应者链发送之前捕获事件.

我正在考虑的解决方案是向视图控制器添加touchesBegan:withEvent:方法.在那里,我可以将resignFirstResponder发送到除触摸所在的所有可见的所有tableview单元格(让它获取触摸事件并自行处理).

也许像这样的伪代码:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    CGPoint touchPoint = // TBD - may need translate to cell's coordinates

    for (UITableViewCell* aCell in [theTableView visibleCells]) {
        if (![aCell pointInside:touchPoint withEvent:event]) {
             [aCell resignFirstResponder];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是最好的解决方法.tableviewcell本身似乎没有任何方法可以接收其视图之外的事件的事件通知.

编辑2:我以为我有一个答案(我甚至将其作为答案发布)使用hitTest:withEvent:但是没有成功.它并不总是被调用.:-(

iphone events touch uitableview

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

核心图形 - 我的三角形/弧形太尖了

我正在使用a UIBezierPath[path addArcWithCenter:radius:startAngle:endAngle:clockwise:]方法在Core Graphics的自定义饼图中绘制'切片' .我的问题是,切片的尖端实际上突然超过中心点,侵入其他切片空间.

有没有办法'围绕'这个边缘?


这是用于绘制路径的代码

[path moveToPoint:center];
[path addArcWithCenter:center radius:radius startAngle:interiorAngle endAngle:totalAngle clockwise:YES];
[path addLineToPoint:center];
[path closePath];
Run Code Online (Sandbox Code Playgroud)

这是问题的图像:

左下角的蓝色部分

左下方蓝色部分的白色尖端稍微侵入右上方的大蓝色部分.

core-graphics ios pie-chart

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

了解签名扩展

int main()
{
  unsigned int b;
  signed int a;
  char z=-1;
  b=z;
  a=z;
  printf("%d %d",a,b);
}
Run Code Online (Sandbox Code Playgroud)

给-1 -1.为什么没有符号扩展,也就是它何时发生?

c

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

UIViewController加载旋转到横向但仅支持纵向

即使父视图控制器(和手机)处于横向方向,有没有办法以纵向方式加载纵向视图控制器?

这个特殊的UIViewController只适用于Portrait模式(它是一个颜色选择器),因此shouldAutorotateToInterfaceOrientation中的代码:仅对纵向方向返回YES.如果您在视图已加载时转动手机,它可以正常工作,它会保持纵向状态,但如果在加载视图的NIB时手机已处于横向状态,则无效.

当加载ViewController时,屏幕已处于横向方向,视图采用纵向布局,视图的下半部分为截止.我尝试提出横向布局,但分段控制是一个问题.

编辑 - 我已尝试在viewWillAppear中使用setStatusBarOrientation,但它只影响状态栏,导航栏和视图仍然针对横向旋转.

这种情况发生在iPhone上的3.1.3和4.0.

iphone orientation uiviewcontroller

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

iPhone延迟后调用一个函数

我有一些代码,我显示一个精灵N秒.N秒后删除此框,我想调用我可以选择的功能.例如,在10秒钟内我想调用showBoxEnded.

我在这看了看,看到我可以使用SEL功能了.我写:

-(void)caller:(id)sender
{
    NSLog(@"Function Called!");
}
Run Code Online (Sandbox Code Playgroud)

我可以调用callFunc来设置将被调用的函数:

-(void) callFunc:(SEL)func;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这个时,我的函数永远不会被调用.我在这里错过了什么吗?这有可能像在C++中一样吗?

是否可以将SEL函数作为参数传递给函数?

谢谢!

iphone

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

NSDate到NSString中类型转换的问题?

我开发一个应用程序,其中我发现型铸造一个荒谬的问题,我不能够强制类型转换NSDateNSString.

NSDate *selected =[datePicker date];
NSString *stringTypeCast = [[NSString alloc] initWithData:selected
                                       encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

从,上面的代码片段datePicker是一个对象UIDatePickerController.

iphone objective-c type-conversion

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

iPhone SDK:请解释为什么"nil =="与"== nil"不同

我已经为iPhone SDK编程了大约6个月,但我对一些事情感到有些困惑......其中一个我在这里问:

为什么以下方面有所不同?

if (varOrObject == nil)
{

}
Run Code Online (Sandbox Code Playgroud)

VS

if (nil == varOrObject)
{

}
Run Code Online (Sandbox Code Playgroud)

来自perl背景,这让我感到困惑......

有人可以解释为什么两个(第二个)中的一个是真的,而如果两个例程在代码中一个接一个地放置,则第一个不会. varOrObject这两个if陈述之间不会发生变化.

没有特定的代码发生在这里,只是我已经在很多地方读过两个语句不同,但不是为什么.

提前致谢.

c iphone null objective-c

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

从可重用单元中删除旧数据

我有一个uitableview,每个单元格都有一个滚动视图作为子视图.scrollview中有一堆图像.因此,当我更改数据源中的数据并在调用重新加载表后,图像不会更改,但是当我删除出队时,重新加载新数据.是否有任何方法来删除出队中的内容,以便我不会得到旧的数据

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{   
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"looser"];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault       reuseIdentifier:CellIdentifier] autorelease];
         scrollview=[[myscrollView alloc]initwitharray:imagearray];
         [cell.contentView addSubview:scrollview];
    }
}
Run Code Online (Sandbox Code Playgroud)

uitableview ios

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