小编Vin*_*thy的帖子

不同的cornerRadius为每个角落Swift 3 - iOS

我想为Swift -3中的视图设置不同的角半径,我可以将每个角的半径设置为相同的值,如下面的帖子中提到的那样,如何设置cornerRadius仅用于左上角和顶部UIView的右角?

有没有办法按以下格式设置转角半径?半径左上:18半径右上:18半径右下:3半径左下:18

cornerradius ios swift3

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

使用setCollectionViewLayout导致崩溃,说找不到layoutAttributesForItemAtIndexPath

我有一个集合视图,我必须动态更改集合视图的布局.在设置新布局时,应用程序与日志崩溃,

2016-02-15 13:47:31.663 PhotoBoard [92347:5235792]***断言失败 - [UICollectionViewData layoutAttributesForItemAtIndexPath:],/ BuildRoot/Library/People/com.apple.xbs/Source/UIKit_Sim/UIKit-3512.30. 14/UICollectionViewData.m:666

2016-02-15 13:47:31.666 PhotoBoard [92347:5235792] *由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'没有UICollectionViewLayoutAttributes实例用于-layoutAttributesForItemAtIndexPath:{length = 2,path = 0 - 0}'*第一次调用堆栈:(0 CoreFoundation 0x000000010d94de65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010f8b5deb objc_exception_throw + 48 2 CoreFoundation 0x000000010d94dcca + [NSException raise:format:arguments:] + 106 3 Foundation 0x000000010dfbe4de - [NSAssertionHandler handleFailureInMethod:object:file:lineNumber :description:] + 198 4 UIKit 0x000000010ec4161c - [UICollectionViewData layoutAttributesForItemAtIndexPath:] + 627 5 UIKit 0x000000010ebeee24 - [UICollectionView _setCollectionViewLayout:animated:isInteractive:completion:] + 1606 6 UIKit 0x000000010ebee4db - [UICollectionView setCollectionViewLayout:] + 318

在打印布局属性时,我看到layoutAttributesForItemAtIndexPath的一个布局属性项:{length = 2,path = 0 - …

uicollectionview swift

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

将图像添加到 CAShapeLayer Swift 3

我正在尝试在每个切片的中心绘制一个带有段数组和图像的饼图,我已经绘制了饼图,但无法向 cashapelayer 添加图像。我参考了以下Swift帖子:添加图像到 CAShapeLayer,但它没有解决我的问题。

这是我尝试过的。

override func draw(_ rect: CGRect) {
        //let context = UIGraphicsGetCurrentContext()
        let radius = min(frame.size.width,frame.size.height) * 0.5;
        let viewCenter = CGPoint(x: frame.size.width * 0.5, y: frame.size.height * 0.5)
        let valueCount = segments.reduce(0){ $0 + $1.value}
        var startAngle = -CGFloat(M_PI / 2)

        for segment in segments {
           let endAngle = startAngle + CGFloat(M_PI * 2) * (segment.value)/valueCount

            /*context?.move(to: CGPoint(x: viewCenter.x, y: viewCenter.y))
            context?.setFillColor(segment.color.cgColor)
            context?.setStrokeColor(UIColor.black.cgColor)
            context?.setLineWidth(3.0)
            context?.addArc(center: viewCenter, radius: radius, startAngle: startAngle, endAngle: endAngle, …
Run Code Online (Sandbox Code Playgroud)

calayer ios swift3

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

带有圆形进度轨道边缘的 UIProgressView - Swift 3

我有一个 UIProgressView 并且希望填充部分(进度部分)有一个圆角半径,我可以使用cornerRadius 属性使进度视图的角变圆,我也希望填充的进度边缘变圆。请在下面找到进度条现在的样子。

在此处输入图片说明

我希望红色部分的边缘变圆。

我尝试使用具有圆角边缘的图像设置progressImage,虽然它解决了这个问题,但图像本身被拉伸得很远,角落的半径没有得到保持。

我尝试的另一件事是绘制一个矩形并用进度颜色填充它,然后使用以下代码将其转换为 UIImage 并将其设置为进度图像,在这种情况下,图像始终为黑色,不确定我缺少什么. 请在下面找到将 uiview 转换为 uiimage 的代码

class func imageWithView(view: UIView) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.isOpaque, 0.0)
    view.drawHierarchy(in: view.bounds, afterScreenUpdates: true)
    let img = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return img!
}
Run Code Online (Sandbox Code Playgroud)

uiprogressview swift3

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

目标C中的合并排序

我试图在目标-C中实现合并排序.

这是一个类似的问题,在以下链接中询问,没有找到答案,因此创建了一个新问题.

在Objective-C中合并排序

这是我试过的,

-(NSArray *)mergeSort:(NSArray *)unsortedArray {

    if ([unsortedArray count] < 2)
        return unsortedArray;

    long mid = [unsortedArray count] / 2;
    NSRange left = NSMakeRange(0, mid);
    NSRange right = NSMakeRange(mid, [unsortedArray count] - mid);

    NSArray *rightArray = [unsortedArray subarrayWithRange:right];
    NSArray *leftArray = [unsortedArray subarrayWithRange:left];

    NSArray *resultArray = [self merge:leftArray andRight:rightArray];
    return resultArray;
}

-(NSArray *)merge:(NSArray *)leftArray andRight:(NSArray *)rightArray {

    NSMutableArray *result = [NSMutableArray array];
    int right = 0;
    int left = 0;

    while (left < [leftArray count] && right …
Run Code Online (Sandbox Code Playgroud)

mergesort objective-c

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