小编Rak*_*esh的帖子

如何为UITableView标题视图设置动画

我需要为tableview标题视图的插入设置动画.我希望表格行在标题视图展开其框架时向下滑动.
到目前为止,我得到的最好结果是使用以下代码:

[self.tableView beginUpdates];  
[self.tableView setTableHeaderView:self.someHeaderView];  
[self.tableView endUpdates];
Run Code Online (Sandbox Code Playgroud)

这个解决方案的问题是标题本身没有动画,它的框架不会扩展.

所以我得到的效果是表格行向下滑动(如我所愿),但标题视图立即显示,我希望它用动画扩展它的框架.

有任何想法吗?

谢谢.

iphone core-animation objective-c uitableview ios

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

隐藏UICollectionViewCell

我试图UICollectionViewCell在集合视图中隐藏一个.虽然我做的时候我很成功

cell.hidden = YES; //or cell.alpha = 0.0;
Run Code Online (Sandbox Code Playgroud)

但滚动后,单元格再次出现.我也尝试过以下方法:

UICollectionViewLayoutAttributes *layoutAttr = <get the layout attribute>//I'm succesfull here
layout.hidden = YES;
[cell applyLayoutAttributes:layoutAttr];
Run Code Online (Sandbox Code Playgroud)

我认为这可能是因为我正在使用该dequeReusable..方法因此正在重新使用该单元格,但我也试图隐藏该collectionView:cellForItemAtIndexPath:方法中的单元格无济于事.在这里它似乎甚至没有工作.

为什么这不起作用?我怎么能隐藏一个UICollectionViewCell

编辑:包括执行collectionView:cellForItemAtIndexPath::

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *identifier = @"Cell";

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
    cell.layer.cornerRadius  = 12.0f;
    cell.backgroundColor = [UIColor colorWithRed:0.830 green:0.899 blue:1.000 alpha:1.000];

    cell.selectedBackgroundView = [[UIView alloc]initWithFrame:cell.frame];
    cell.selectedBackgroundView.backgroundColor = [UIColor lightTextColor];;
    cell.layer.borderColor = [UIColor blackColor].CGColor;
    cell.layer.borderWidth = 2.0f;
    cell.hidden = YES; …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios uicollectionview uicollectionviewcell

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

C中的Objective-C块

在阅读Apple Docs中的块概念概述时,我看到以下声明:

虽然块可用于纯C和C++,但块也始终是Objective-C对象.

这怎么可能?我的意思是纯C中的Objective-C对象.我感到很困惑.

c cocoa cocoa-touch objective-c objective-c-blocks

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

如何创建一个接受带格式的字符串作为参数的方法?

我不知道如何提出这个问题.我想创建一个类似stringWithFormat:or 的方法predicateWithFormat:,即我的方法直接接受参数作为带有格式说明符的字符串.我怎样才能做到这一点?

例如,

-(void) someMethod: (NSString *)str, format; 
Run Code Online (Sandbox Code Playgroud)

所以我以后可以称之为:

[someObject someMethod:@"String with format %@",anotherString];
Run Code Online (Sandbox Code Playgroud)

这与任何特定背景无关.

我正在predicateWithFormat使用类似于的代码:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like myName"];
Run Code Online (Sandbox Code Playgroud)

这不起作用,但是:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like 'myName'"];
Run Code Online (Sandbox Code Playgroud)

工作类似于:

NSString *str = @"myName";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like %@",str];
Run Code Online (Sandbox Code Playgroud)

所以这意味着该方法能够理解给定的参数是否具有在其中使用的格式说明符.我很好奇怎么能这样做?

string format methods cocoa objective-c

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

如何在java中实现委托模式(如在objective-c中)

我查看了一个示例,其中为java解释了委托模式.没有找到太多用处(原谅无知)因为我觉得它缺乏objective-c的灵活性.是否可以像在objective-c中那样动态设置委托对象.这不是代表团的全部意义吗?我对java的了解非常初步,所以请详细解释一下.

java delegates design-patterns objective-c ios

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

有没有办法获得NSBezierPath对象的所有点的x,y坐标?

如果我有一个NSBezierPath对象,有没有办法得到绘制的所有点的坐标(x,y).我想沿着路径移动NSRect.

macos cocoa drawing objective-c nsbezierpath

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

将子视图添加到UISplitViewController的MasterView

我需要在左侧部分添加一个子视图UIViewController,当主视图被隐藏(纵向)时,该子视图向用户显示屏幕左侧部分附近有东西.而这种观点必须与左侧部分一致UISplitView.像这两个图像中带箭头的视图.(抱歉俄语界面) http://s2.uploads.ru/8EHJI.png http://s2.uploads.ru/NhEam.png 但我的问题是,当我尝试添加这样的视图时,它会剪辑到masterview的边界,隐藏masterview时不可见.我想,我做错了,有一个简单的方法可以做到这一点.

更新:我试图做一些黑客像:

-(void) clipToBoundsRecursive:(UIView *)someView
{
    NSLog(@"%@", someView);
    someView.clipsToBounds = NO;
    for (UIView *v in someView.subviews)
    {
        [self clipToBoundsRecursive:v];
    }
}
Run Code Online (Sandbox Code Playgroud)

并发送到视图splitviewcontroller.

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
[self clipToBoundsRecursive:splitViewController.view];
Run Code Online (Sandbox Code Playgroud)

它会在第一次生效(主视图边界显示之外的子视图,但在第一次显示/隐藏动画后,它们会消失,即使我再次调用此方法也不会出现)

iphone objective-c ipad uisplitviewcontroller ios

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

在objective-c中表示数组的特殊方式

我在网上很多地方看到过,甚至在苹果文档中,当数组以下列格式表示时:

@[obj1,obj2]
Run Code Online (Sandbox Code Playgroud)

例如; 在谓词编程指南中有一个这样的语句:

NSCompoundPredicate *predicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[greaterThanPredicate, lessThanPredicate]];
Run Code Online (Sandbox Code Playgroud)

但是当我在代码中编写相同内容时,我会得到一个'意外的@in program'(如预期的那样)编译器错误.这只是一种表示数组的方式还是我错过了什么?

cocoa objective-c nsarray objective-c-literals

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

navigationController:pushViewController,具有iPhone事务的特殊效果

通常我们总是使用以下方法从一个视图推送到另一个视图:

[self.navigationController pushViewController:nextView animated:YES];

for some other animations we used :UIViewAnimationTransitionCurlDown / flipRight etc etc..

所有这些都经常使用,

我希望我的应用程序具有不同的转换 ..

过渡中的任何其他自定义过渡/特殊效果..(推/弹出)或动画的任何其他外部api ..

iphone objective-c uinavigationcontroller pushviewcontroller

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

将12小时格式的NSDate转换为24小时格式

我有一个NSDate12小时格式的对象2014-09-16 04:40:05 pm +0000.

我想将其转换为24小时格式,并希望获得一个像NSDate这样的对象2014-09-16 16:40:05 +0000.

有人可以指导我这样做.

所以我想要一些方法,如:

-(NSDate *) get24HourFormat:(NSDate *) date{

  return date object;
} 
Run Code Online (Sandbox Code Playgroud)

iphone nsdate nsdateformatter ios

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