2020-04-16 17:30:31 +02:00
---
layout: single
author_profile: true
read_time: true
share: true
related: true
title: SwiftUI
tags: [swiftui,programming,ios, swift]
category: Programming
---
Its been a long while since I sat and did programming, but between a life situation and the new technology from Apple for creating user interfaces (SwiftUI), I've been inspired to pickup again an idea I've been kicking around for 10 years.
<!-- more -->
SwiftUI simplifies designing interfaces
Provides a fast means of iterating design
Able to quickly see results
Easy to mock in data
Buggy.
Filled 3 bugs so far.
2020-04-17 22:17:24 +02:00
2020-04-18 01:45:17 +02:00
Swift:
2020-04-17 22:17:24 +02:00
{% highlight swift %}
override public func touchesBegan(_ touches: Set< UITouch > , with event: UIEvent?) {
super.touchesBegan(touches, with: event)
currentTouchPosition = touches.first?.location(in: self)
NSObject.cancelPreviousPerformRequests(withTarget: self)
}
{% endhighlight %}
2020-04-18 01:45:17 +02:00
Swift:
```swift
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
```
Bash:
```bash
#!/usr/bin/env bash
set -e # halt script on error
echo
echo "------------------------------------------------------------------------------------------------------------------------"
if [ "$TRAVIS_PULL_REQUEST" != "false" -a "$TRAVIS_BRANCH" == "comments" ]; then
echo
echo "Building site for pull request for $TRAVIS_BRANCH..."
bundle exec jekyll build --config _config.yml --source . --destination ./docs
echo "Site built into /docs"
echo
echo "Proofing links"
bundle exec htmlproofer ./docs --disable-external --allow_hash_href
echo "Proofing links complete"
echo
echo "------------------------------------------------------------------------------------------------------------------------"
exit 0
elif [ "$TRAVIS_BRANCH" == "master" ]; then
echo
echo "Building site for $TRAVIS_BRANCH..."
bundle exec jekyll build --config _config.yml --source . --destination ./docs
echo "Site built into /docs"
echo
echo "Proofing links"
bundle exec htmlproofer ./docs --disable-external --allow_hash_href
echo "Proofing links complete"
echo
echo "------------------------------------------------------------------------------------------------------------------------"
exit 0
else
echo
echo "Build not triggered internally"
echo
echo "------------------------------------------------------------------------------------------------------------------------"
exit 0
fi
```
Ruby:
{% highlight ruby %}
require "gem"
number = 0
regexp = /[abc]/
# This is a comment
class Person
attr_accessor :name
def initialize(attributes = {})
@name = attributes[:name]
end
def self.greet
"hello"
end
end
person1 = Person.new(:name => "Chris")
puts "#{Person::greet} #{person1.name}\n"
{% endhighlight %}
html:
```html
<!DOCTYPE html>
< html >
< head >
< title > Title< / title >
< / head >
< body >
< h1 id = "heading" > Heading< / h1 >
< p class = "class" > This is an example paragraph.< / p >
< / body >
< / html >
```
css:
```css
.highlight pre {
width: 100%;
}
.highlight .hll {
background-color: $base06;
}
.highlight {
.c {
/* Comment */
color: $base04;
}
}
```
Javascript:
```javascript
$(document).ready(function() {
// FitVids init
$("#main").fitVids();
// Sticky sidebar
var stickySideBar = function() {
var show =
$(".author__urls-wrapper button").length === 0
? $(window).width() > 1024 // width should match $large Sass variable
: !$(".author__urls-wrapper button").is(":visible");
if (show) {
// fix
$(".sidebar").addClass("sticky");
} else {
// unfix
$(".sidebar").removeClass("sticky");
}
};
}
2020-04-18 17:20:21 +02:00
```
< p > notice< / p > {: .notice}
< p > primary< / p > {: .notice--primary}
< p > info< / p > {: .notice--info}
< p > warning< / p > {: .notice--warning}
< p > success< / p > {: .notice--success}
< p > danger< / p > {: .notice--danger}
< div class = "notice--success" markdown = "1" >
# Headline for the Notice
< br >
Text for the notice
< / div >