小编Rob*_*bin的帖子

UINavigationController的每个页面上的UIToolbar

我有一个在UINavigationController上运行的应用程序.现在我想在每个屏幕的底部添加一个UIToolbar元素.底部的工具栏应该可以为当前显示的ViewController进行自定义.我的第一个想法是简单地将工具栏添加到navigationController视图并标记它,在viewController中我认为我将能够检索UIToolbar元素.我有以下代码:

在我的AppDelegate中:

// Get instance of Toolbar  (navController is an instance of UINavigationController and TOOLBAR_TAG a constant)
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 440, 320, 40)];
toolbar.tag = TOOLBAR_TAG;
[navController.view addSubview:toolbar];
Run Code Online (Sandbox Code Playgroud)

在我的viewController中,我试过这个:

UIToolbar *toolbar = [self.navigationController.view viewWithTag:TOOLBAR_TAG];
toolbar.barStyle = UIBarStyleBlack;
Run Code Online (Sandbox Code Playgroud)

然而,这给了我一个错误,说我的情况下工具栏是一个"UILayoutContainerView"对象,而不是UIToolbar对象.因此,这个想法似乎是一个死胡同.

别人怎么解决这个问题?

iphone objective-c uitoolbar uiviewcontroller uinavigationcontroller

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

在NSScrollView上覆盖NSView

我有一个NSScrollView填充整个窗口并显示一个巨大的图像.现在我想在Scroll View的部分上覆盖自定义NSView(例如,前20个像素的高度和窗口宽度)以显示其他信息.当用户滚动滚动视图时,顶部的自定义NSView应保持原样.

我尝试过以下方法:

  1. 创建一个我的窗口大小的NSView实例
  2. 添加NSScrollView作为先前生成的NSView的子视图
  3. 在步骤1中将我的自定义视图作为子视图添加到NSView

这在开始时工作,滚动视图正确显示和我的自定义NSView.但是,一旦我开始移动滚动视图(滚动),自定义NSView就会与NSScrollView的内容一起滚动,并且当它移动到边界之外时最终会消失,并且滚动视图的位置(它被定位的位置)会重新绘制.我怎么能在NSScrollView上有效地将我的自定义NSView分层并确保它保持不变?

谢谢!

cocoa overlay nsview nsscrollview

9
推荐指数
2
解决办法
3770
查看次数

我可以在我的服务器上存储从Facebook连接检索到的数据吗?

如果我的应用程序要求它运行,我是否可以永久存储我从Facebook连接的数据连接我的服务器上的用户(例如,名字,姓氏等)?如果用户卸载了应用程序,我当然会再次删除它.我听说这是不允许的,但是在他们的使用条款中找不到合适的段落.

facebook store

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

Xcode 4:构建存档配置文件是否具体?

我还没有真正使用Xcode 3下的归档功能,但现在已经习惯了它在Xcode 4中.到目前为止,我总是习惯在我的所有项目中都有三个或四个构建设置:Debug,Distribution AdHoc和Distribution AppStore.颇.AdHoc和AppStore都是"Release"的副本,只是在为Codeigning选择的配置文件方面有所不同(所以基本上它们是方便的,确保我从未向错误的人发送错误签名的版本).

现在我注意到,每当我从组织者导出存档的构建时,Xcode都会询问我要使用哪个配置文件进行签名,但同时如果构建设置中选定的配置文件无效,则构建也会失败.Xcode 4档案供应配置文件是否独立于供应配置文件或与供应配置文件相关联?如何在没有太多构建设置组的情况下解决必须为AdHoc和AppStore构建的"挑战"(在Xcode 4中切换与构建方案相关联的组变得有些麻烦)?

谢谢!

code-signing provisioning archive xcode4

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

选择图像的一部分(剪裁)

这可能不像我想象的那么难,但我怎样才能选择图像的一部分?请考虑以下示例:

alt text http://img683.imageshack.us/img683/2680/imagepart.jpg

灰色区域是PNG或JPG格式的图像,现在我想从中选择红色的80x80像素区域.应显示红色区域,其余不显示.我尝试了很多方法:

  • 使UIImageView的clipsToBounds为YES并尝试偏移图像(不起作用)
  • 剪辑上部视图(不起作用)

我也看了一下绘图功能,但我还没有使用它们,这对我来说似乎有点牵强.有什么明显的方法可以做我想做的事情,我错过了吗?我不希望图像被调整大小,只是剪裁.

谢谢你的时间!

iphone cocoa-touch objective-c uiimageview uiimage

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

NSScreenNumber是否随机变化?

在我的应用程序中,我需要区分不同的显示,我使用NSScreen提供的deviceDescription字典的NSScreenNumber键.到目前为止,一切都完美无瑕,但现在突然间我有时会为我的主屏幕获得不同的屏幕ID(这是一台笔记本电脑,我几个月没有连接第二个屏幕,它总是相同的硬件).id曾经是69676672,但现在大多数时候我得到2077806975.

起初我以为我可能会以某种方式误解NSNumber,但事实并非如此,我还通过使用CGMainDisplayID()函数进行检查,并得到相同的值.甚至更奇怪的是,一些Apple应用程序似乎仍然得到旧ID:例如.使用屏幕ID在其配置文件中引用桌面映像,在更新桌面映像时,Apple的桌面映像应用程序使用"正确"(=旧)ID.

我开始怀疑最近的更新(10.7.1或10.7.2)是否会发生变化导致变更,是否有其他人注意到类似的事情或之前有此问题?

这是我使用的代码:

 // This is in an NSScreen category
 - (NSNumber *) uniqueScreenID {
     return [[self deviceDescription] objectForKey:@"NSScreenNumber"];
 }
Run Code Online (Sandbox Code Playgroud)

并获得一个int:

 // Assuming screen points to an instance of NSScreen
 NSLog(@"Screen ID: %i", [[screen uniqueScreenID] intValue]);
Run Code Online (Sandbox Code Playgroud)

这开始变得令人沮丧,感谢任何帮助/想法,谢谢!

macos cocoa screen objective-c

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

iPython notebook:如何防止在imshow()上输出图像?

我和matplotlib一起使用了很多iPython笔记本,虽然很多情况下我很高兴它会在我调用imshow时自动显示图像()有时候我想阻止这种行为.

具体来说,我循环遍历一个非常大的数组,并在matplotlib中为每个应保存到磁盘的元素生成一个数字.作为该图形创建的一部分,我必须调用imshow()将现有图像(在我的情况下是地图的屏幕截图)绘制到轴上,以便稍后在其上绘制其他材料.每当我将imshow作为流程的一部分调用时,最终的数字在iPython笔记本中内嵌显示,我该如何防止这种情况?

我的代码看起来像这样:

import matplotlib as plt
fig = plt.pyplot.figure(figsize=(20,20))
im2 = plt.pyplot.imread('/some/dir/fancy-map.png')

# Magic to calculate points, x_min etc.

fig.clf()
ax = fig.gca(xlim=(x_min, x_max), ylim=(y_min, y_max))
ax.imshow(im2, extent=(4, 4.5746, 42.5448, 43.3791), aspect=1.5)
raster = ax.imshow(points, vmin = 0, vmax=maxval, extent=(x_min, x_max, y_min, y_max), aspect=1.5, origin='lower')
fig.colorbar(raster)
ax.set_title('coordinates plot')

fig.savefig("fancy-annotated-map.png", bbox_inches=0)
Run Code Online (Sandbox Code Playgroud)

matplotlib ipython jupyter-notebook

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

Zend DB和编码

我刚刚遇到了一些比较奇怪的东西,我使用Zend Framework 1.10和Zend_Db_Table模块从数据库中读取一些数据.数据库本身,表和所涉及的字段都将其归类设置为"utf8_general_ci",并且当使用phpMyAdmin检查时,所有特殊字符在DB中正确显示格式.此外,使用Zend_Db_Table保存工作正常,但是当我读取数据并将其回显到我的浏览器时,它将返回为ISO-8859-1,而不是UTF8.在尝试使用json_encode(仅适用于UTF8字符串作为输入)对DB返回的值时,我注意到了同样的事情.

如何设置Zend_Db_Table/Zend_Db_Row应该始终使用UTF8并返回UTF8值?我还没有在我的应用程序中设置有关编码的任何内容.

非常感谢你的帮助!

php encoding zend-framework utf-8 zend-db

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

使用自定义类的实例对数组进行排序

我有一个数组填充自定义类的实例,其中包含两个String属性,firstname和lastname.两者都有一个getter方法,它等于属性本身的名称.还有一种方法可以检索名为"getFullName"的人的全名.考虑下面的例子.

 CustomClass *person = [[CustomClass alloc] ...];
 person.firstname  // Returns "Thomas"
 person.lastname // Returns "Meier"
 [person getFullName] // Returns "Thomas Meier"
Run Code Online (Sandbox Code Playgroud)

现在我想按降序对Fullname这个数组进行排序.我一直在研究一些数组排序方法,但还不太清楚如何解决这个问题.我想我必须创建一些比较两个元素的比较函数,但是如何告诉SDK哪些值传递给这个方法以及我应该放在哪里(在自定义类或排序发生的类中) ?).也许有另一种/更好的方法来解决这个问题?不可否认,我几乎没有排序数组的经验.

非常感谢你的帮助!

PS.代码应该在iOS 3.2上运行

arrays sorting iphone objective-c

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

使用Core Data在视图中引用模型对象的最佳实践是什么?

我有一个描述动物的NSManagedObject,它具有属性"name","species","scientificName"等.我在UITableView中显示所有动物并使用NSFetchedResultsController管理NSManagedObjects.

为了向我的表视图单元格提供到目前为止呈现内容所需的信息,我只是将它们弱引用到描述动物的NSManagedObject.但是,有时NSManagedObject会出现故障,并且当重绘表视图单元格时,它们会重新访问对象的属性,从而防止出现故障.

在将核心数据用作数据源时,为视图对象提供信息的最佳做法是什么?如果可能,我想避免将NSManagedObject的所有属性复制到表视图单元格.

iphone model-view-controller core-data uitableview

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

objective-c函数中的变量返回类型(使用Cocoa)

我在objective-c app中有一个配置类,它读取带有配置数据的PLIST文件.然后,我希望能够使用单个函数读取任何键的值,如下所示:

- () getValueforKey:(NSString *)key {
     some magic here....
     return value;
}
Run Code Online (Sandbox Code Playgroud)

问题:配置文件中的一些值是字符串,其他值是整数或甚至是字典.正如你所看到的,我在这个例子中留下了返回类型的空白,因为我不知道在那里写什么.函数是否有任何方式可以返回不同类型的数据,如果有,我该如何声明?

非常感谢!

xcode cocoa-touch objective-c return-type

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