小编Ast*_*ria的帖子

对UIView进行子类化.永远不会调用init方法

我UIView在界面构建器上有一个.在我的视图控制器中,我有一个IBOutlet MyUIView指向UIView界面构建器.

我将类更改UIView为" MyUIView"(自定义UIView类),但似乎没有init触发子类的任何方法.

我究竟做错了什么?

cocoa-touch uiviewcontroller uikit uiview ios

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

Cocoa Touch Framework无法在嵌入项目中的模拟器上进行调试

我有一个使用XCode 6构建的Cocoa Touch框架,目标是iOS> = iOS8.此框架的目标体系结构设置是默认设置,这意味着我没有更改任何内容.架构设置为标准(不包括x86_64,稍后将详细介绍).框架本身包含Swift和Objective-C代码,因此使用Ray Wenderlich的静态库解决方法构建它将不起作用.

现在,如果我创建一个新项目并将框架项目添加到它,该项目将为设备和模拟器构建,这很好.

但是,如果我将.framework文件添加到不同的项目中,就像添加任何其他框架一样,该项目将不会为模拟器构建.嗯,它确实构建,但它崩溃,因为它找不到相关的类.它在设备上运行良好,归档工作也正如预期的那样.

框架项目本身已经给了我一个警告; "Apple Mach-O链接器警告 - 找不到选项的目录....(Debug-ophoneos)".

任何帮助将非常感谢!

xcode cocoa-touch objective-c ios

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

为什么UIView.exclusiveTouch不起作用?

在我的一个iPhone项目中,我有三个视图可以通过触摸和拖动来移动.但是,我想通过使用两个手指阻止用户同时移动两个视图.因此,我试图尝试使用UIView.exclusiveTouch,但没有任何成功.

为了理解该属性的工作原理,我创建了一个全新的项目,在视图控制器中使用以下代码:

- (void)loadView {

    self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    UIButton* a = [UIButton buttonWithType:UIButtonTypeInfoDark];
    [a addTarget:self action:@selector(hej:) forControlEvents:UIControlEventTouchUpInside];
    a.center = CGPointMake(50, 50);
    a.multipleTouchEnabled = YES;

    UIButton* b = [UIButton buttonWithType:UIButtonTypeInfoDark];
    [b addTarget:self action:@selector(hej:) forControlEvents:UIControlEventTouchUpInside];
    b.center = CGPointMake(200, 50);
    b.multipleTouchEnabled = YES;

    a.exclusiveTouch = YES;

    [self.view addSubview:a];
    [self.view addSubview:b];

}

- (void)hej:(id)sender
{
    NSLog(@"hej: %@", sender);
}
Run Code Online (Sandbox Code Playgroud)

当运行它时,hej:在按下任何按钮时被不同的发送者调用 - 即使其中一个按钮设置为YES.我试过评论multipleTouchEnabled-lines,但没有用.有人可以向我解释我在这里失踪了吗?

谢谢,Eli

iphone cocoa-touch objective-c uikit uiview

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

如何模仿UITableView的UITableViewStylePlain部分标题样式

我的应用程序使用UITableView部分标题标题中的缩写,VoiceOver很难发音.由于我需要通过VoiceOver使这些标题可以发音,我需要给出标题标题a accessibilityLabel.

似乎这样做的唯一方法是绘制自定义节标题单元格.我想模仿标准Apple UIKit为这些自定义部分标题提供的样式,但我不确定如何模仿Apple的这个元素的详细外观.

模仿UITableViewStylePlain节标题样式的最佳方法是什么?

更新:我很清楚如何创建自定义标题单元格.我正在寻找的是一种技术,可以模仿Apple为普通UITableView部分标题单元格提供的标题单元格样式.

cocoa-touch objective-c uitableview uikit ios

12
推荐指数
3
解决办法
6114
查看次数

淡出UICollectionView中的项目

我有一个UICollectionView,我正在根据这个链接实现粘性标题:http://blog.radi.ws/post/32905838158/sticky-headers-for-uicollectionview-using #notes

它工作得非常好但是我的窗口应用了背景图像,我的标题视图具有透明背景.因此,当我的项目在标题视图上方滚动时,您仍然可以看到它们.

理想情况下,我会使用渐变淡出单元格,直到它在标题视图后面出现的时间不可见.

谢谢.

cocoa-touch objective-c uikit ios uicollectionview

12
推荐指数
2
解决办法
7559
查看次数

单视图iOS上的多个投影阴影

我想在视图中添加多个具有不同不透明度的阴影.阴影的规格如下:

  • 模糊半径为1的Y偏移为4
  • 模糊半径为10的Y偏移量为10
  • Y偏移为2,模糊半径为4
  • 模糊半径为1,展开为1(无偏移,可能必须是4个不同的阴影)

我可以用CALayers 来完成所有这些工作.这是我为此工作的代码(请注意我还没有打扰设置shadowPath,直到我得到多个阴影的东西才会工作):

layer.cornerRadius = 4
layer.masksToBounds = false
layer.shouldRasterize = true
let layer2 = CALayer(layer: layer), layer3 = CALayer(layer: layer), layer4 = CALayer(layer: layer)
layer.shadowOffset = CGSizeMake(0, 4)
layer.shadowRadius = 1
layer2.shadowOffset = CGSizeMake(0, 10)
layer2.shadowRadius = 10
layer2.shadowColor = UIColor.blackColor().CGColor
layer2.shouldRasterize = true //Evidently not copied during initialization from self.layer
layer3.shadowOffset = CGSizeMake(0, 2)
layer3.shadowRadius = 4
layer3.shouldRasterize = true
layer4.shadowOffset = CGSizeMake(0, 1)
layer4.shadowRadius = 1
layer4.shadowOpacity = 0.1 …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch uiview dropshadow ios quartz-core

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

如何为iPhone上的UITableView创建交替颜色的行?

我会有另外两种颜色的行,如第一个黑色,第二个白色,第三个黑色等等......

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
cell = ((MainCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]);
if (cell==nil) {

    NSArray *topLevelObjects=[[NSBundle mainBundle] loadNibNamed:@"MainCell"    owner:self options:nil];

    for (id currentObject in topLevelObjects){
        if ([currentObject isKindOfClass:[UITableViewCell class]]){
            if ((indexPath.row % 2)==0) {
                [cell.contentView setBackgroundColor:[UIColor purpleColor]];

            }else{
                [cell.contentView setBackgroundColor:[UIColor whiteColor]];

            }
            cell =  (MainCell *) currentObject;
            break;
        }
    }

}else {

    AsyncImageView* oldImage = (AsyncImageView*)
    [cell.contentView viewWithTag:999];
    [oldImage removeFromSuperview];
}return cell;
Run Code Online (Sandbox Code Playgroud)

问题是,当我进行快速滚动时,细胞的背景变得像最后2个细胞黑色,前2个细胞白色或类似的东西,但如果我滚动慢工作正常.我认为问题是reusableCell的缓存.

有任何想法吗?

TIA

cocoa-touch objective-c cell uitableview ios

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

在解除另一个视图后,UITableView滚动内容大小不正确

所以我有一个UITableViewController启动另一个tableVC,当解雇时改变原始的单元格数量.

解雇后,尽管返回正确的单元格高度(和标题高度)以及更新的行数(使滚动内容很大),滚动视图仅在滚动时反弹.在查看contentSize表格滚动的属性时,它contentSize是不正确的,并且与之前的相同.

最初加载原件时tableVC,我没有问题.如果我有大量单元格,表格将按预期滚动.只有在解雇所提出tableVC的问题时才会遇到问题.我不确定的一件事是什么时候调用reloadData.我这样做如下:

在提出中tableVC:

[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]
Run Code Online (Sandbox Code Playgroud)

2.在原始表VC中:

-(void)viewDidAppear    
{ 
   //tablecell number manipulated
   [table reloadData];

}
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我旋转到横向并回到肖像,则contentSize然后设置正确,我可以再次滚动.

iphone cocoa-touch objective-c uitableview ios

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

在底部启动UICollectionView

在iOS 7中,给定一个UICollectionView,你如何在底部启动它?想想iOS消息应用程序,当视图变得可见时,它始终从底部开始(最新消息).

cocoa-touch uikit ios uicollectionview ios7

10
推荐指数
2
解决办法
5955
查看次数

iOs Widget后台更新

根据apple关于widgetPerformUpdateWithCompletionHandler:的内容,当窗口小部件不可见时,iOs Widget也可以更新他的内容.

在我的调试会话中,我注意到每当通知中心视图消失时,todayViewController都会被释放,所以我的问题是:

如果取消分配,我的todayViewController如何响应widgetPerfomrUpdateWithComplationHandler?

我需要每小时小部件更新他的内容,如果它不可见,我该怎么做?

iOs小部件生命周期如何?

请帮帮我:)谢谢

cocoa-touch objective-c ios ios8-today-widget ios-extensions

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