小编sme*_*hko的帖子

快速从远程资源加载 svg

我正在使用 REST API ( https://restcountries.eu/ ) 并希望下载标志图像(.svg)并将其显示为UIImage. 我尝试了标准方法:

    func requestData(at url: URL, success: @escaping (_ data: Data) -> Void, failure: ((_ error: NetworkError) -> Void)? = nil) {
    let request = URLRequest(url: url)
    let task = URLSession.shared.dataTask(with: request) { (responseData, response, responseError) in
        DispatchQueue.main.async {
            if responseError != nil {
                failure?(.failedRequest)
            } else if let data = responseData {
                success(data)
            } else {
                failure?(.corruptedData)
            }
        }
    }

    task.resume()
}
Run Code Online (Sandbox Code Playgroud)

数据下载得很好,但是当我尝试用 来显示图像时UIImage(data: data),图像是nil. 我错过了什么吗?

uiimage ios swift

6
推荐指数
0
解决办法
7335
查看次数

在 xcode 项目中的目标之间共享数据

我有一个项目有两个不同的目标(同一个应用程序的免费和付费版本),我有一个list项目,我保存到NSUserDefaults. 我的问题是,有没有办法在两个版本的应用程序之间共享这个列表,而不使用KeyChain或类似的东西?

objective-c ios

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

iOS:UITableView底部的额外空间

我已经以UITableView编程方式创建,但它下面有一些额外的空间(准确地说是29个像素).

这是我初始化表的方式:

UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
[tableView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.contentView addSubview:tableView];
self.alertsTableView = tableView;
Run Code Online (Sandbox Code Playgroud)

以下是约束:

    @"V:|-10-[_alertsTableView(0)]-5-[_optionsLabel]",
    @"H:|-15-[_alertsTableView]-15-|", 
Run Code Online (Sandbox Code Playgroud)

我尝试将页脚视图设置为nil并为其高度返回零:

[self.tableView setTableFooterView:[[UIView alloc] initWithFrame:CGRectZero]];

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}
Run Code Online (Sandbox Code Playgroud)

我根据内容动态改变它的高度:

- (void)updateHeight:(CGFloat)height {
    if (self.tableView.superview) {
        NSLayoutConstraint *heightConstraint;
        for (NSLayoutConstraint *constraint in self.tableView.superview.constraints) {
            if (constraint.firstAttribute == NSLayoutAttributeHeight) {
                heightConstraint = constraint;
                break;
            }
        }
        heightConstraint.constant = height;
    }
}
Run Code Online (Sandbox Code Playgroud)

我也开始setAutomaticallyAdjustsScrollViewInsetsNO.而就是最终的结果.单元格和空白区域之间有一个分隔符,但底部不是单元格.

objective-c uitableview ios

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

使用起始位置和距离计算新坐标

我试图获取一个点的坐标,该点距起始位置一定距离,但最终结果是错误的。

首先,我计算起始位置和所需目的地之间的角度:

private func calculateAngleBetweenLocations(currentLocation: CLLocationCoordinate2D, targetLocation: CLLocationCoordinate2D) -> Double {
    let fLat = self.degreesToRadians(currentLocation.latitude);
    let fLng = self.degreesToRadians(currentLocation.longitude);
    let tLat = self.degreesToRadians(targetLocation.latitude);
    let tLng = self.degreesToRadians(targetLocation.longitude);
    let deltaLng = tLng - fLng

    let y = sin(deltaLng) * cos(tLat)
    let x = cos(fLat) * sin(tLat) - sin(fLat) * cos(tLat) * cos(deltaLng)

    let bearing = atan2(y, x)

    return self.radiansToDegrees(bearing)
}
Run Code Online (Sandbox Code Playgroud)

然后,在给定距离的情况下计算新点:

private func coordinatesForMovement(endLocation: CLLocationCoordinate2D, distance: Double) -> CLLocationCoordinate2D {
    let angle = self.calculateAngleBetweenLocations(self.currentLocation, targetLocation: endLocation)
    let x = self.currentLocation.latitude + …
Run Code Online (Sandbox Code Playgroud)

ios swift

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

标签 统计

ios ×4

objective-c ×2

swift ×2

uiimage ×1

uitableview ×1