标签: uikit

如何以编程方式更改UIView的"原点"(如Xcode标记)?

您将在附加的屏幕截图中注意到红色的"+"/"箭头"字形.在Xcode中改变这个"原点"很容易.有一个以编程方式做到这一点,或者这是一个完全抽象的Xcode?

在此输入图像描述

例如,我想以编程方式创建UILabel并通过计算右下角坐标来定位它.在Xcode中,我只需确保红色"+"位于右下方的网格点上,并在考虑"原点"的情况下定义X,Y,Width和Height参数.

xcode uikit uiview ios

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

resizableImageWithCapInsets图像总是未对齐?

是否可以创建具有可调整大小图像的正确对齐的 UIImageView?

我尝试了所有东西(例如两个图像的力量等)并且无法使其工作.

UIImageView的坐标是:

po _Background

(UIImageView *) $1 = 0x14c42bd0 
<UIImageView: 0x14c42bd0;
frame = (16 38; 992 672);
opaque = NO;
autoresize = LM+RM+TM+BM;
userInteractionEnabled = NO;
layer = <CALayer: 0x14c42ba0>> - (null)
Run Code Online (Sandbox Code Playgroud)

UIImage本身是96x96(视网膜,即png是192x192,比例为2).可调整大小的UIImage使用以下命令创建:

UIEdgeInsets edgeInsets = UIEdgeInsetsMake(32, 32, 32, 32);
UIImage* resizableImage = [originalImage resizableImageWithCapInsets:edgeInsets];
[_Background setImage:resizableImage];
Run Code Online (Sandbox Code Playgroud)

在模拟器中打开"颜色未对齐图像"时,UIImageView _Background将以黄色突出显示.在调试器中删除其UIImage:

[_Background setImage:nil];
Run Code Online (Sandbox Code Playgroud)

删除黄色突出显示,即没有图像 - >没有错位.

任何人都知道发生了什么以及如何确保它对齐?

谢谢.

core-graphics uikit ios

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

UISlider轨迹图像在滑动时消失

我有这段代码创建自定义UISlider.当我快速滑动到最后时,left_image.png没有显示,但如果我不滑动,它工作正常.

[sliderFPS setMinimumTrackImage:[UIImage imageNamed:@"left_slider.png"]
                       forState:UIControlStateNormal];
[sliderFPS setMaximumTrackImage:[UIImage imageNamed:@"right_slider.png"]
                       forState:UIControlStateNormal];

[sliderFPS setThumbImage:[UIImage imageNamed:@"thumb_slider.png"]      
                forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

我花了2个多小时但找不到任何解决方案.任何帮助都会受到太多赞赏.

iphone uikit uislider ios

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

垂直居中视图,自动调整和iPhone 5 4"屏幕

我有一些我添加到视图中的自定义按钮-viewDidLoad.我希望它们在视图中垂直居中,如下所示:

self.customButton.center = CGPointMake(98.f, self.view.center.y);
Run Code Online (Sandbox Code Playgroud)

然而,视图高度504.0甚至在3.5"设备上,我期望它416(480 - 20(状态栏高度) - 44(导航栏高度)).

xib中的视图使用"Retina 4 Fullscreen",但将其设置为自由形式并没有帮助.我当然不希望两个xib只是为了解释高度差异.

我知道我可以使用UIScreen但是我希望视图能够意识到高度差异.

编辑:奇怪的是,在-viewWillAppear视图高度正确设置为416.0.为什么[super viewDidLoad]在我之后没有处理这个问题.

人们如何处理这个问题?Autolayout可能会处理这个,但我需要一个兼容iOS5的方法.可以以某种方式自动化处理"居中"吗?

xib uikit ios autoresizingmask iphone-5

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

imageNamed和imageWithContentsOfFile缓存图片:无论如何清除缓存?

我没有从远程服务器找到图像时加载默认图像:

   detailImageView.image = [UIImage imageNamed:@"noimageavailable.jpg"];
Run Code Online (Sandbox Code Playgroud)

第二种选择:

detailImageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"noimageavailable" ofType:@"jpg"]];
Run Code Online (Sandbox Code Playgroud)

我注意到在加载了另一个可从服务器获得的图像后,noimageavailable.jpg仍然出现在新图像后面,这意味着noimageavailable.jpg以某种方式缓存.我用两个选项imageNamed:imageWithContentsOfFileAPI 得到了相同的结果.

这是我完成的代码:

        if (detailImageURL.length == 0) {
            detailImageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"noimageavailable" ofType:@"jpg"]];
//Once displayed, it's cached for all lifecycle


        }else{

        dispatch_async(DownloadQueue, ^{

            NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:detailImageURL]];
                dispatch_async(dispatch_get_main_queue(), ^{

                    detailImageView.image = nil;
                    UIImage *image = [UIImage imageWithData:imageData];
                    detailImageView.image = image;
                });
    });
    }
Run Code Online (Sandbox Code Playgroud)

有什么方法可以清除缓存?

uikit uiimage ios

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

自定义编辑菜单中的UIMenuItems顺序

我想将自己的命令添加到选择菜单中,但也保留标准的"复制","剪切"等命令.我用这个:

    UIMenuItem *myItem = [[UIMenuItem alloc] initWithTitle:@"My Command" action:@selector(myCommand:)];
    [[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects: myItem, nil]];
Run Code Online (Sandbox Code Playgroud)

但是这会将我的命令添加到编辑菜单中列表的最后.我希望我的命令首先出现在其中.我怎么能实现这个目标?

uikit uimenucontroller uiresponder ios uimenuitem

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

SDNestedTable扩展在iOS 7上不起作用

单击单元格后,它不会展开.该问题在github上报告.该问题仅适用于iOS 7.在以前的版本中一切正常.

custom-controls uitableview uikit nested-table ios

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

动画结束时会变慢

我有一个翻译动画,将我的按钮从A移动到B.

那条路线看起来像这样:

1)按钮缓慢加速2)在动画中间达到速度的峰值3)当它接近结束时减速

这是我的代码

[UIView animateWithDuration:speed
                      delay:delay
                    options:UIViewAnimationOptionAllowUserInteraction
                 animations:^(void){
                     [UIView setAnimationRepeatCount:5];
                     cloud.frame = (CGRectMake(cloud.frame.origin.x,   
cloud.frame.origin.y+900, cloud.frame.size.width, cloud.frame.size.height));

                 }completion:nil];
Run Code Online (Sandbox Code Playgroud)

我希望我的动画始终具有相同的速度.

我怎样才能做到这一点?

objective-c uikit uianimation ios

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

在scrollToItemAtIndexPath之后获取UICollectionView单元格位置

我想以UICollectionViewCell编程方式滚动到一个单元格后得到一个位置.我正在设置这样的滚动位置.

[self.collectionView scrollToItemAtIndexPath:indexPath
                             atScrollPosition:UICollectionViewScrollPositionCenteredVertically
                                        animated:NO];
Run Code Online (Sandbox Code Playgroud)

然后我想得到我滚动到的单元格的框架,因为我需要UIView在它附近放置另一个.

此代码返回带有scrollview的单元格的rect,但我需要在可见rect中的位置.

UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:indexPath];
CGRect cellRect = attributes.frame;
Run Code Online (Sandbox Code Playgroud)

uikit ios uicollectionview

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

如何在UITableView中设置Section属性?

背景

我想在UITabelLabelCell中设置Section属性.

原始帖子与过时的Obj-C代码/方法下面

这是为UITable中的节头设置字体的代码.我正在尝试为iOS7 +采用此代码.

Obj-C代码

[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont fontWithName:@"MyFont" size:8]];
Run Code Online (Sandbox Code Playgroud)

我认为应该看起来像这样(不确定):

UILabel.appearanceForTraitCollection( trait: UITraitCollection )
Run Code Online (Sandbox Code Playgroud)

但我在抄写中遇到了麻烦UITraitCollection.

uikit swift

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