Như chúng ta đã biết, bảng phân tách chế độ xem rất mỏng và đẹp. Đôi khi chúng tôi phải xây dựng một số dòng phân cách trong bảng phân cảnh hoặc nib, số min là 1, nhưng thực sự dòng xuất hiện dày hơn nhiều so với chúng tôi mong đợi.
Câu hỏi của tôi là cách vẽ đường thẳng 1px trong bảng phân cảnh?Làm thế nào để vẽ một dòng 1px trong storyBoard?
Trả lời
Tôi nhận điểm của bạn quá, cuối cùng tôi tìm thấy lối ra.
Như chúng ta đã biết, nếu chúng ta vẽ một đường thẳng và đặt chiều cao theo mã, chúng ta có thể thiết lập chiều cao bằng (1.0/[UIScreen mainScreen] .scale).
Nhưng ở đây, bạn muốn vẽ trong bảng phân cảnh.
Cách của tôi là phân lớp UIView hoặc UIImageView, dựa trên nhu cầu của bạn là OnePXLine. Trong lớp OnePXLine, ghi đè layoutSubviews như dưới đây:
- (void)layoutSubviews {
[super layoutSubviews];
CGRect rect = self.frame;
rect.size.height = (1/[UIScreen mainScreen].scale);
self.frame = rect;
}
Và bạn có thể vẽ 1 đường px trong kịch bản bằng cách sử dụng lớp này.
Goodluck!
bạn có thể làm như thế nào trong bất kỳ UIControl/UIElement cho điều này và thay đổi chiều cao như 1
nếu bạn muốn 1 điểm sử dụng này - 1
nếu bạn muốn 1pixel Sử dụng này - 1.0/UIScreen.mainScreen().scale
Objective-C
UIView *LineView=[[UIView alloc]initWithFrame:CGRectMake(0, 50, self.view.frame.size.width, 1)]; // customize the frame what u need
[LineView setBackgroundColor:[UIColor yellowColor]]; //customize the color
[self.view addSubview:LineView];
Swift
var LineView=UIView(frame: CGRectMake((0, 50, self.view.frame.size.width, 1))
LineView.backgroundColor=UIColor.yellowColor()
self.view.addSubview(LineView)
nếu bạn muốn có một thêm thông tin xem này once
về mặt kỹ thuật này sẽ không cao 1px, nhưng sẽ là 1 chiều cao, vì tùy thuộc vào mật độ hiển thị, trên thiết bị @ 2x này thực sự dày 2 pixel, nhưng có thể OP không thực sự muốn một đường cao 1 pixel nhưng chiều cao 1 pt – Fonix
@Fonix - hãy kiểm tra câu trả lời được cập nhật –
bạn có thể gán giá trị float để xem khung. do đó, những gì bạn có thể làm là xem bất kỳ dạng xem nào (lable, textview, view, textfield) và gán chiều cao là 0.4f
hoặc một cái gì đó có lập trình và chiều rộng để phù hợp với chiều rộng tự.
lable.frame = CGRectMake(0,0,width of self.view,0.4f);
Điều này sẽ giúp bạn nếu bạn đang mã hóa trong Swift:
func lineDraw(viewLi:UIView)
{
let border = CALayer()
let width = CGFloat(1.0)
border.borderColor = UIColor(red: 197/255, green: 197/255, blue: 197/255, alpha: 1.0).CGColor
border.frame = CGRect(x: 0, y: viewLi.frame.size.height - width, width: viewLi.frame.size.width, height: viewLi.frame.size.height)
border.borderWidth = width
viewLi.layer.addSublayer(border)
viewLi.layer.masksToBounds = true
}
Hãy thử nó trong cellForRowAtIndex
UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 1)];
separatorLineView.backgroundColor = [UIColor colorWithRed:242/255.0f green:222/255.0f blue:52/255.0f alpha:1.0];
[cell.contentView addSubview:separatorLineView];
Xcode 9 Swift: Bạn có thể thêm seperator mỏng với dòng 1px trong Storyboard sử dụng UIView
.
Dưới Kích Inspector, Chỉ cần thiết lập chiều cao đến 1, ví dụ chiều rộng để 360.
tài liệu của Apple trên UIView.
- 1. Làm thế nào để vẽ nhiều dòng trong R
- 2. Làm thế nào để vẽ một đường subpixel
- 3. Làm thế nào để phân lớp UICollectionViewFlowLayout với Storyboard
- 4. Vẽ lưới với jQuery SVG tạo 2px thay vì 1px
- 5. Làm thế nào để sử dụng miễn nhiệm một popover iPhone trong một thích ứng Storyboard
- 6. làm thế nào để có được rootviewcontroller ios storyboard
- 7. Làm thế nào để vẽ một đồ thị trong PHP?
- 8. Làm thế nào để vẽ một BitmapFont trong LibGDX?
- 9. Làm thế nào để vẽ một vòng tròn trong suốt?
- 10. Làm thế nào để vẽ một lưới trong SketchFlow?
- 11. Làm thế nào để vẽ một mũi tên trong Matlab?
- 12. Làm thế nào để vẽ một vòng tròn trong UILabel?
- 13. Làm thế nào để vẽ một nền nhanh trong cocos2d?
- 14. Làm thế nào để vẽ một mảnh ghép trong Matplotlib
- 15. Làm thế nào để animate một ProgressBar Property Value sử dụng Storyboard DoubleAnimation trong Windows 8.1
- 16. làm thế nào để xử lý applicationShouldHandleReopen trong một ứng dụng Storyboard phi Document dựa
- 17. Lập trình Puzzle: Làm thế nào để vẽ một bảng?
- 18. Làm thế nào để vẽ một MKPolyline trên MapView?
- 19. Làm thế nào để chuyển đổi RGB thành dữ liệu mã hóa base64 1px trong php
- 20. Làm thế nào để animate bản vẽ của một CGPath?
- 21. Làm thế nào để Vẽ đường Graph có màu sắc khác nhau trong Độc Dòng
- 22. Làm thế nào để vẽ "hai hướng độ rộng dòng" trong matplotlib
- 23. Làm thế nào để vẽ "phát sáng" dòng trong OpenGL ES
- 24. Làm thế nào để vẽ đường dẫn này trong WPF?
- 25. Làm cách nào để xóa 1px dưới cùng của một khối nội tuyến (CSS)?
- 26. Dòng UIBezierPath đột quỵ 1px và điền hình chữ nhật có chiều rộng 1px - các kết quả khác nhau.
- 27. Làm thế nào để vẽ một hình elip đầy đủ trong một StreamGeometry trong WPF?
- 28. Làm thế nào để vẽ một UILabel in -drawRect :?
- 29. Làm thế nào để vẽ một đường trên một hình ảnh trong MATLAB?
- 30. Làm thế nào để phá vỡ một chuỗi trong dòng
Bản sao có thể có của [Vẽ một đường thẳng 1 pixel chính hãng, iOS7] (http://stackoverflow.com/questions/22745522/draw-a-genuine-1-pixel-line-ios7) – iSkore
[thử giải pháp này] (http: // stackoverflow.com/a/26868504/1219956) cho một dòng chiều cao 1 pixel thực tế và không phải là một đường cao 1 điểm giống như phần còn lại của những câu trả lời này dường như đang cho – Fonix
Nhờ tất cả các câu trả lời. Tất cả đều giúp tôi rất nhiều, và tôi đã tìm thấy một số cách, cuối cùng tôi nghĩ rằng câu trả lời của Fonix và childrenOurFuture làm việc cho tôi. –