Tôi đang tạo trình chỉnh sửa hình ảnh có thể tạo các đối tượng hình dạng khác nhau như hình tròn, hình tam giác và hình vuông cũng có thể được cập nhật hoặc xóa. Vì vậy, tôi đã sử dụng CAShapeLayer
để tạo các đối tượng hình dạng.Vẽ một đường bằng Bezierpath sử dụng đối tượng CAShapeLayer
Bây giờ tôi cũng muốn vẽ một đường trên hình ảnh cũng có thể được cập nhật hoặc xóa vì vậy tôi đã sử dụng bezierpath và CAShapeLayer
để tạo dòng, nó hoạt động tốt. NHƯNG bây giờ vấn đề là khi tôi muốn chọn bất kỳ dòng hiện có nó có thể được chọn bất kỳ nơi gần với công cụ dòng vì CAShapeLayer
cũng thiết lập các khu vực điền đó sẽ là một đường thẳng từ điểm bắt đầu đến điểm kết thúc.
Câu hỏi của tôi là làm cách nào tôi có thể tạo dòng không có vùng điền bằng cách sử dụng CAShapeLayer
.
Đây là mã của tôi để tạo dòng:
CAShapeLayer *line = [CAShapeLayer layer];
// Using bezierpath to make line
UIBezierPath *linePath=[UIBezierPath bezierPath];
// Creating L with line
[linePath moveToPoint:point1];
[linePath addToPoint:point2];
[linePath addToPoint:point3];
line.path=linePath.CGPath;
// Configure the appearence of the line
line.fillColor = Nil;
line.opacity = 1.0;
line.strokeColor = [UIColor whiteColor].CGColor;
Bất kỳ ý tưởng về vấn đề này sẽ được thực sự đánh giá cao.
Nó hoạt động. Có lẽ bạn đã quên thêm layer '' '[self.view.layer addSublayer: line];' '' – Shmidt
Tôi đã thêm dòng này nữa, nó tạo ra dòng tiền phạt nhưng nó cũng điền vào vùng từ điểm bắt đầu đến điểm kết thúc và xem xét nó như một phần của lớp. Vì vậy, vấn đề là bất cứ khi nào tôi cố gắng khai thác gần dòng dòng được chọn. –
Nếu bạn đang sử dụng '[linePath addLineToPoint: point2]'? –