我无法填补Swift 4的弧线

时间:2018-10-26 17:55:32

标签: swift geometry fill shapes uigraphicscontext

我有一个使UIView变成圆形的类。当我将圆添加到视图中时,它显示红色轮廓,但是内部是透明的,而不是黑色。我希望它有黑色填充。

function zip_search($userZip){

    $args = array(
    'posts_per_page'    => -1,
    'post_type'         => 'Locations'
    );

$wp_query = new WP_Query($args); 

if( $wp_query->have_posts() ): while( $wp_query->have_posts() ) : $wp_query->the_post();
      $zipField=get_field('zip_codes_services');

          $zipString = $zipField . ', ';        

          $array = explode(', ' , $zipString); //split string into array seperated by ', '

        foreach($array as $value) //loop over values
        {

            if($value==$userZip){
                $post_id = get_the_ID();
                $permalink=get_permalink($post_id);                 
               return ($permalink); //print 
           }    

        }
       endwhile; 
       wp_reset_postdata(); 
endif;
}

2 个答案:

答案 0 :(得分:4)

使用UIBezierPath更容易解决。

override func draw(_ rect: CGRect) {
    let path = UIBezierPath(ovalIn: bounds)
    path.lineWidth = 1
    UIColor.red.setStroke()
    UIColor.black.setFill()
    path.fill()
    path.stroke()
}

答案 1 :(得分:2)

如果您查看strokePath()的文档:

  

清除当前路径是调用此函数的副作用。

基本上,在笔触路径之后,您的路径将被重置,没有任何内容可填。

一种解决方法是先保存context.path,然后再使用context.addPath(path)。但是,我通常更喜欢先构建一个单独的CGMutablePath,然后将其添加到上下文中。