小编Dha*_*iya的帖子

在故事板中,如何制作用于多个控制器的自定义单元?

我正在尝试在我正在使用的应用程序中使用故事板.在应用程序中有ListsUsers,每个都包含其他列表(列表成员,用户拥有的列表).所以,相应地,我有ListCellUserCell课.目标是让它们在整个应用程序中可重复使用(即,在我的任何tableview控制器中).

这就是我遇到问题的地方.

如何在故事板中创建可在任何视图控制器中重复使用的自定义tableview单元格?

以下是我迄今为止尝试过的具体内容.

  • 在Controller#1中,添加了一个原型单元格,将类设置为我的UITableViewCell子类,设置重用ID,添加标签并将它们连接到类的出口.在Controller#2中,添加了一个空的原型单元格,将其设置为同一个类并重复使用id.当它运行时,当控制器#2中显示单元格时,标签永远不会出现.在Controller#1中正常工作.

  • 在不同的NIB中设计每种细胞类型,并连接到适当的细胞类.在storyboard中,添加了一个空的原型单元格并设置其类并重用id来引用我的单元类.在控制器的viewDidLoad方法中,为重用ID注册了那些NIB文件.如图所示,两个控制器中的单元格都像原型一样空.

  • 将两个控制器中的原型保持为空并设置类并将id重用于我的单元类.完全用代码构建单元格的UI.细胞在所有控制器中都能完美运

在第二种情况下,我怀疑原型总是覆盖NIB,如果我杀死原型单元,注册我的NIB用于重用ID将起作用.但后来我无法设置从单元格到其他框架的segue,这实际上是使用故事板的全部要点.

在一天结束时,我想要两件事:在故事板中连接基于tableview的流,并在视觉上而不是在代码中定义单元格布局.到目前为止,我无法看到如何获得这两者.

objective-c storyboard uitableview ios

216
推荐指数
6
解决办法
8万
查看次数

UIColViewView里面的UIColViewView - 动态高度?

我们的一个应用程序屏幕要求我们放置UICollectionView一个UITableViewCell.这UICollectionView将具有动态数量的项目,从而产生必须动态计算的高度.但是,我在尝试计算嵌入式高度时遇到了问题UICollectionView.

我们的总体设计UIViewController是在故事板中创建的,并且确实利用了自动布局.但是,我不知道如何动态增加UITableViewCell基于高度的高度UICollectionView.

任何人都可以提供一些如何实现这一目标的建议或建议吗?

uitableview ios uicollectionview

104
推荐指数
6
解决办法
4万
查看次数

什么时候UITableView的contentSize设置好了?

我有一个非滚动UITableViewUIScrollView.我将帧的大小设置UITableView为其内容大小.

当我添加一行时UITableView,我调用insertRowsAtIndexPaths:withRowAnimation:on UITableView.然后我调用一个方法来调整框架UITableView:

- (void)resizeTableViewFrameHeight
{
    // Table view does not scroll, so its frame height should be equal to its contentSize height
    CGRect frame = self.tableView.frame;
    frame.size = self.tableView.contentSize;
    self.tableView.frame = frame;
}
Run Code Online (Sandbox Code Playgroud)

看来虽然此时contentSize尚未更新.如果我根据行数和节数手动计算上述方法中的帧,则该方法可以正常工作.

我的问题是,我怎样才能UITableView更新它contentSize?我想我可以调用reloadData,这可能会这样做,但是当我只插入一个单元格时重新加载整个表似乎效率低下.

uitableview uiscrollview ios

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

在UINavigationController中为所有视图控制器添加相同的按钮

我有一个UINavigationController(像一个向导页面一样)我以编程方式创建,我需要显示一个"取消"按钮来取消任何进程UIViewController.

创建UINavigationController:

FirstVC *firstVC = [[[FirstVC alloc] initWithNibName:@"FirstPage" bundle:nil] autorelease];
firstVC.delegate = self;

navigationController = [[UINavigationController alloc] initWithRootViewController:firstVC];
[self.view addSubview:navigationController.view];
Run Code Online (Sandbox Code Playgroud)

添加取消按钮:

UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelRequestNewLeave:)];
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
[cancelButton release];
Run Code Online (Sandbox Code Playgroud)

但当我按下第二页时UINavigationController,取消按钮上没有显示UINavigationBar.如果我回到第一页,取消按钮就在那里.所以,显然该按钮仅为第一个视图添加.我相信这是因为我不是子类UINavigationController,因为我需要在子视图中使用它.但我不知道如何设置rightBarButtonItemUINavigationController其中编程方式创建.

navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
Run Code Online (Sandbox Code Playgroud)

有人可以对此有所了解吗?

提前致谢.

iphone uinavigationcontroller ios

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

使用问题与rails中的模块有什么区别?

刚才我开始在rails中使用Concerns,但我怀疑为什么我们会关注,因为我们可以在模块和混合概念上实现相同的功能.所以请任何人告诉我关于使用关注而不是使用模块.

ruby-on-rails activesupport-concern

17
推荐指数
2
解决办法
6857
查看次数

在没有安装Facebook App的情况下,FBSDKShareDialog不会共享照片

我正在使用Facebook SDK 4.0,https://developers.facebook.com/docs/sharing/ios#share_dialogFBSDKShareDialog用来分享Photo.It分享Photo如果用户安装了Facebook应用程序,但是当用户没有安装时它会失败安装了FB App.但他们说"如果某人没有安装Facebook应用程序,它将自动回退到基于网络的对话框." Idk什么错了请帮我分享使用FBSDK 4.0的照片.

我的代码是

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.capturedImageView.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
                             withContent:content
                                delegate:self];
Run Code Online (Sandbox Code Playgroud)

这是错误报告

在此输入图像描述

错误:"com.facebook.sdk:FBSDKErrorArgumentNameKey = shareContent,com.facebook.sdk:FBSDKErrorDeveloperMessageKey = Feed共享对话框支持FBSDKShareLinkContent."

facebook ios facebook-ios-sdk facebook-sdk-4.0

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

在UIScrollView中滚动UITableView

我有一个UITableViewa的子视图UIView,然后UIView是a的子视图UIScrollView.如何检测应滚动的触摸UITableView

UITableView能获得项目选择事件(表中的单元格选中/抽头)就好了,但你必须按住电池它将触发之前.但我不能得到UITableView滚动,它始终是UIScrollView对平移手势的反应.

任何帮助是极大的赞赏.提前致谢!

编辑:解决了,虽然我问了错误的问题.正如Roman K所指出的,它默认工作.我认为这个问题与UITableView外部的一部分UIScrollView(UITableView超过了界限UIScrollView)有关.将其设置为正确安装在UIScrollView固定的内部.

cocoa-touch objective-c uitableview uiscrollview ipad

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

cancelPreviousPerformRequestsWithTarget不取消未完成的performSelector:withDelay

我正在使用a UIWebView并且不希望导航栏出现,除非用户点击屏幕上不是链接的任何地方.所以我有这段代码在延迟后显示导航栏:

- (void)handleTapGesture:(UITapGestureRecognizer *)sender  
{      
.... 
[self performSelector:@selector(showNavigationBar) withObject:self afterDelay:0.2]; 
}
Run Code Online (Sandbox Code Playgroud)

调用showNavigationBartap处理程序时我没有立即调用,因为用户可能已经点击了链接,在这种情况下,之前 调用了轻击手UIWebView shouldStartLoadWithRequest,所以如果我隐藏导航栏,shouldStartLoadWithRequest它会瞬间闪现在屏幕上.所以我把它设置为在延迟之后显示,这给了下面代码在其中执行的时间shouldStartLoadWithRequest(如果用户没有点击链接shouldStartLoadWithRequest没有被调用并且显示导航栏,那么在那种情况下应该如此) ).

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType  
{ 
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(showNavigationBar) object:nil];
...
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,我已经将延迟时间增加到几秒钟并且可以确认cancelPreviousPerformRequestWithTarget在显示导航栏之前调用,但是当指定的时间过去时,显示条形图.cancelPreviousPerformRequestWithTarget没有效果.

有谁知道它为什么不起作用?

ios

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

使用CloudKit保持NSArray的顺序

我目前正在设计一个CloudKit基于同步的解决方案,我想知道最好的方法是保持列表(在我的情况下是一个数组)的云项(CKRecord对象)的顺序是一致的.

Apple建议不要保留对子对象的引用,而只是使用CKReference来自子对象的父对象引用父对象.如果您想根据其中一个属性(例如创建日期)查询项目,则可以正常工作,但如果您有一个由用户确定的订单则不行.

我提出了两种基于相同想法的不同方法:维护标识符清单以管理项目的位置.

1)同步具有标识符数组的额外记录(aka清单),每个标识符标识一个CKRecord对象(以及相应的本地模型对象).

2)创建一个父对象,该对象包含CKReference对其子对象的引用(对象)数组.此数组维护给定的顺序.

我觉得这不是解决这个问题的最好办法,我很高兴听到你的想法.

macos cocoa objective-c ios cloudkit

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

Rich text editor library for iOS

Does somebody know a rich text editor (like NSTextView for Mac OS X) library for the iOS platform?

iphone cocoa-touch ipad ios

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